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 Sub

    Kann 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.


Anmelden zum Antworten