Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   CBuilder DLL Problem ? (https://www.delphipraxis.net/153128-cbuilder-dll-problem.html)

madina 22. Jul 2010 09:59

CBuilder DLL Problem ?
 
Hallo,


1. ich habe einen DLL in CBuilder4 ohne Fehler wie folgt erstellt:

extern "C" __declspec(dllexport) void BoxProperties();

2. versucht diese Fkt aus dem pt.DLL wie folgt in CBuilder4/Delphi5 aufzurufen mit dem Fehlermeldung "unresolved external *.obj":

extern "C" __declspec(dllimport) void BoxProperties();

3. versucht mit dem Befhl "impdef pt.def pt.dll" den Header zu lesen und gibt mir folgendes aus:

LIBRARY PT.DLL
EXPORTS
___dll_argc
___dll_argv

4. hier sehe ich meine Fkt void BoxProperties(); nicht
was habe ich falsch gemacht ?

MFG

Assarbad 3. Nov 2010 23:41

AW: CBuilder DLL Problem ?
 
Das Problem ist erstmal, daß du eine sehr alte BCB-Version benutzt. Daher kann ich nur mutmaßen.

Zitat:

Zitat von madina (Beitrag 1036769)
1. ich habe einen DLL in CBuilder4 ohne Fehler wie folgt erstellt:

extern "C" __declspec(dllexport) void BoxProperties();

Könntest du dir die erstellte Datei bitte mal mit dem Bei Google suchenDependency Walker anschauen und ggf. einen Screenshot anhängen auf dem das zu sehen ist, was DW anzeigt?!

dllexport und dllimport sind ja sozusagen "magische Worte" für den Linker. Allerdings solltest du allemal explizit eine Hier im Forum suchenAufrufkonvention angeben, da unter widrigen Umständen schon zwei verschiedene Projekte im BCB selber eine verschiedene Meinung haben könnten.

Zitat:

Zitat von madina (Beitrag 1036769)
2. versucht diese Fkt aus dem pt.DLL wie folgt in CBuilder4/Delphi5 aufzurufen mit dem Fehlermeldung "unresolved external *.obj":

extern "C" __declspec(dllimport) void BoxProperties();

Das bedeutet zuallererst mal, daß __declspec(dllimport) nicht wie erwartet funktioniert, denn der Linker kann die Funktion offenbar nicht auftreiben. Bist du dir sicher, daß dies für deine BCB-Version die korrekte Methode für Importe ist?

In MSVC wäre sie es, solange man noch die Aufrufkonvention angibt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz