DLL in VB erstellt --> Libray und Header für Visual C++
-
Hallo,
ich habe unter VB6 für ein Projekt in der Firma eine DLL erstellt. Diese stellt einen Datentyp und 2 Funktionen zur Verfügung.
Nun möchte der Anwender diese DLL in ein Visual C++ Projekt einbinden und hat mich gebeten, die "Header-Datei für C/C++und evtl. auch die
Import-Bibliothek" zu erzeugen. Meine Frage nun:
Wie geht das?????
Wenn ich die VB6-DLL compiliere, so wird im Verzeichnis auch eine Datei mit der Extension *.lib erzeugt. Ist das die Libray ? Wenn ja, wie sieht nun der Header dazu aus?In der DLL ist der Datentyp und die Funktionen folgendermassen deklariert:
Public Type DatenArray
Var1 As Double
Var2 As Double
Var3 As Double
End Type//**********
Public Function NewData() As DatenArray
.
.
.
End Function//**********
Public Sub DemoMode_OnOff(DemoMode As Boolean)
.
.
.
End SubKann mir da jemand weiterhelfen?
vielen Dank
Nuecke
-
Ja, dies ist die Libary die du ebenfalls mitgeben musst. Die DLL Datei darfst du natürlich auch nicht vergessen!!!
So, dann versuche ich mal die VB Datentypen in C/C++ Datentypen zusammenzufassen. Hoffe es stimmt so:struct { double Var1; double Var2; double Var3; } DatenArray; DatenArray NewData(); DatenArray DemoMode_OnOff(bool DemoMode);
-
Du kannst in VB6 keine "konventionellen" DLL's erstellen.
In VB6 kannst du allenfalls COM-DLL's erstellen. Die wiederum kannst du
nicht mit LIB und HEADER in C++ einbinden, sondern nur über die gängigen
COM-Mechanismen.mfg JJ
-
@guenni81 Danke vorläufig
, ich probiere das aus, wobei eine vielleicht blöde Frage --> Ist das alles????
@John Doe Ebenfalls Danke
für die Antwort. Wie ist das dann zu bewerkstelligen? Soweit ich weiss, kann ich mit VC++ mittels dem Tool ImpLib.exe die Library erstellen. Und den Header, wie geht das
?
Gruß Nuecke
-
Du müsstest die Include befehle noch zu den Daten machen. Für ne Headerfile reichen diese daten aus...
-
Nochmal, mit VB6 kannst du keine normalen DLL's erstellen die du in VC, so
wie VC-DLL's, einbinden kannst. Soweit ich weiss gibts in der Spyworks-Suite
von Desaware ein Tool mit dem das geht, natürlich kommerziell.
Wenn du dich in COM-programmierung mit VC auskennst ist das kein Problem,
TypeLib importieren, CoInitialize() aufrufen, usw. Anders kriegst du den
Kram nicht in deine VC-Anwendung rein.mfg JJ
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum MFC mit dem Visual C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.