Announcement

Collapse
No announcement yet.

VC++ DLL in C++ Builder benutzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VC++ DLL in C++ Builder benutzen

    Hallo an Alle Builder Programmierer,

    ich habe folgendes Problem, ich möchte eine DLL in ein Projekt einbinden.

    Zuerst bekam ich folgende Fehlermeldung:
    [Linker Fehler] 'D:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\KASSE\CAR DTERM32.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

    Ich habe herausgefunden, das es sich um eine VC++ DLL handelt und habe sie mit dem COFF2OMF.EXE umgewandelt. Hat auch ohne Probleme funktioniert.

    Wenn ich jetzt eine Funktion aus der DLL aufrufe, bekomme ich auch wunderbar die Codevervollständigung angezeigt. aber beim kompilieren bekomme ich den folgenden Fehler:
    [Linker Fehler] Unresolved external '__stdcall tcs_anmeld_wkz(short *)' referenced from D:\PROGRAMME\BORLAND\CBUILDER6\PROJECTS\KASSE\KASS E1.OBJ

    Ich weis nicht was ich hier machen soll?

    Wäre für jede Hilfe dankbar.

    Gruss Martin

  • #2
    So liebe Entwickler,

    ich habe die Lösung gefunden.

    Zum einen musste ich eine ganz neue lib-Datei aus der DLL erzeugen, mit dem Tool
    implib.exe und dem Parameter –a, war ganz wichtig.

    In der Header-Datei musste ich die Funktion noch richtig deklarieren.

    extern "C" __declspec(dllexport) short tcs_anmeld_wkz(short FAR*);

    In der org. Header-Datei stand es ohne das extern "C" und mit einem WINAPI-Aufruf.

    __declspec(dllexport) short WINAPI tcs_anmeld_wkz(short FAR*);

    Jetzt scheint es zu funktionieren.

    Gruss Marti

    Comment

    Working...
    X