![]() |
Borland C++ Dll export
versuche gerade mal in Borland c++ eine DLL zu erstellen.
aber achtung habe das noch nie gemacht. mein export sieht so aus
Code:
long MidiClass::getLyricTime(long index)
Code:
glaube aber das es nicht richtig ist auch wenn der compiler nicht meckert.
extern "C" __declspec(dllexport)long getLyricTime(long index);
ich hab die DLL mal in depends eingeladen aber keine exports gefunden. wie müßte dieser aussehen das ich ihn auch in Delphi/Pascal verwenden kann? gruss |
AW: Borland C++ Dll export
ops.. Niemand hier der C++ kann. :gruebel:
gruss |
AW: Borland C++ Dll export
Hm, also ich würd sagen so in etwa:
Delphi-Quellcode:
function getLyricTime(index : LongInt) : LongInt; cdecl; external 'dllname.dll';
//Wenn LongInt net geht direkt Integer |
AW: Borland C++ Dll export
Zitat:
Oder sind die bei BC++ nicht sichtbar? Un ob der Export so wie ich ihn ausführe richtig ist kann ich auf anhieb auch nicht sagen. Mit depends seh ich nichts. Das einbinden in Delphi mach ich ja auch so nur dann muss die Function auch public sein. Edit: So wie ich mir dachte da stimmt was nicht der Einsprungspunkt wird nicht gefunden. gruss |
AW: Borland C++ Dll export
Hallo,
du schreibst "Borland C++", ist das wirklich etwas altes aus vor Delphi Zeiten ? Oder meinst du den C++ Builder ? Zitat:
Zitat:
Man kann keine Memberfunktionen von Klassen "lose" aus einer DLL exportieren. Nur ganze Klassen, mit denen kann Delphi aber wohl nichts anfangen. Mit einer C-Funktion habe ich das gerade mal im C++ Builder XE2 getestet. Ein
Code:
wird brav als _foo exportiert.
extern "C" __declspec(dllexport) int foo()
{ return 42; } Mit einer zusätzlichen Moduldefinitionsdatei
Code:
auch zusätzlich als foo.
LIBRARY TestDll
EXPORTS foo = _foo Nur wie man nur foo exportiert, kriege ich gerade nicht raus. In Visual Studio ginge das mit
Code:
aber da kommt beim Builder eine Linkerwarnung (und _foo).
LIBRARY TestDll
EXPORTS foo |
AW: Borland C++ Dll export
Zitat:
Code:
Ist die function welche ich exportieren möchte.
long MidiClass::getLyricTime(long index)
habe jetzt mal eine andere alternative versucht.
Code:
und unter Compiler ausgabe "Exportierten Symbolen keinen Unterstrich voranstellen"
extern "C" __declspec(dllexport) long __stdcall getLyricTime(long index);
So gehts alles nicht hab einfach bzw. fast keine Kenntnis was C++ Bulider angeht. In C++ keine problem da leg ich ne "def" an und gut ist. Edit: Zitat:
Danke für die Hilfe gruss |
AW: Borland C++ Dll export
Zitat:
Zitat:
Zitat:
|
AW: Borland C++ Dll export
Danke für deine Erläuterungen muss meinen versuch dann wohl erstmal bei seite schieben.
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 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-2025 by Thomas Breitkreuz