DLL in VB und Delphi

Gast #249812
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?
Gast #249813
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
Gast #249815
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).
Gast #249819
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren