www.mikrocontroller.net

Forum: PC-Programmierung DLL in VB und Delphi


Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

ich arbeite gerade an einer DLL für die Ansteuerung von diversen
Geräten über die Serielle Schnittestelle. Die Library soll später auf
meiner Seite zum donwloaden angeboten werden. Programmieren tue ich das
ganze in C++. Da ich auch Usern die mit VB oder Delphi arbeiten die
Möglichkeit geben möchte mit dieser DLL zu arbeiten müsste ich eine Art
Header Datei wie bei C erstellen. Ich habe leider keine Ahnung von VB
oder Delphi und müsste deswegen wissen wie in der jeweiligen Sprache so
eine Datei auszusehen hat. Könnt Ihr mir weiterhelfen?

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne jetzt zwar Delphi nicht, würde in der Dll aber trotzdem ein
COM Objekt zur Verfügung stellen. Die Dinger kannst Du in eigentlich
allen Sprachen schmerzfrei verwenden. Das zahlt sich auch dann aus,
wenn Events ins Spiel kommen (es kommt etwas über die Serielle rein und
Du willst die Anwendung benachrichtigen). Die Mechanismus des Rückrufs
ist klar definiert. Und über die eingebundene TypeLib beschreibt sich
die Dll selbst, Du mußt da nicht noch extra etwas mitliefern.

Ansonsten mußt Du beachten
- VB kennt außer Byte keine vorzeichenlosen Typen
- Du darfst nur native Typen austauschen, mit z.B. einem std::string
kan VB nichts anfangen
- Funktionen mit variabler Parameterliste sind tabu
- Die Aufrufskonvention ist __stdcall
- Es dürfen keine Exceptions nach außen dringen, niemand wird diese
Fangen können

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum mußt du ne Headerdatei erstellen? Es reicht doch, wenn du die DLL
zum download anbietest und außerdem eine Dokumentation mit Funktions-
und Parameterbeschreibung.

Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Rene:
Vielen Dank. Werde das mit einem COM Objekt versuchen zu realisieren,
da ich für gewisse Funktionen auch Strukturen verwende.

@Jens:
Genau das hab ich in der Header Datei gemacht (Dokumentiert).

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tolle Dokumentation :)

Autor: Kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doxygen <- Sagt Dir das was?

Autor: Niels Huesken (monarch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibts schon! Nicht nochmal programmieren! ;)

http://www.geekhideout.com/iodll.shtml
Das isn COM-Objekt. funktioniert aus delphi, C++ und VB

Autor: René König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich das richtig sehe, ist das eine Dll, die direkte Portzugriffe
erlaubt. Darum geht's hier aber nicht. Und ein COM Objekt ist da auch
nicht drin.

Davon ab: Wer so eine Dll benötigt, macht ganz gewaltig was falsch. Von
so einem Quatsch sollte man lieber die Finger lassen.

Oder hast Du einfach nur den falschen Link erwischt und meinst ganz was
anderes?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.