Fehlermeldung beim Einbinden einer DLL



  • Hallo,

    ich will in meinem Programm eine Funktion aufrufen, die ich über eine DLL mit einbinde. Das Prog ist erstellt mit Developperstudio 2006 ( C++ ), Die DLL wurde mit Delphi erstellt.
    Beim Linken kommt folgende Fehlermeldung:

    Ungelöste externe 'Funktionsname(System::AnsiString, System::AnsiString)' referenziert von <Pfad\formular.obj>

    Ich bin für jeden Tipp dankbar



  • Hallo

    grundsätzliche Infos zum Erstellen und Einbinden einer DLL findest du [url=http://bcb-tutorial.c-plusplus.net/inhalt.htmlhier[/url].

    Die Fehlermeldung deutet darauf hin, dazu entweder beim Erstellen der DLL die Funktion nicht korrekt zum Export deklariert hast, oder beim Import in das Programm vergessen hast die .lib-Datei einzubinden.

    Desweiteren sind alle Compiler-spezifischen Variablentypen wie AnsiString für DLL-Exporte sehr kritisch, da es für deren Speicherverwaltung keinen Standard gibt. Das heißt das zwei verschiedene Compiler (in deinem Fall sogar zwei verschiedene Sprachen) können des selben Variablentyp intern anders umsetzen.
    Deshalb solltest du bei wirklich frei verwendbaren DLLs immer darauf achten auschließlich reine C-Typen für das externe Interface zu verwenden. Was du dann intern für Typen verwendest bleibt ganz dir überlassen.

    bis bald
    akari


Anmelden zum Antworten