Hallo,
ich habe gerade ein kleines Problem. Ich erstelle eine
DLL in VS2008, die ein paar Funktionen bereitstellt. Leider kann ich diese nicht über den Namen importieren, sondern nur über den Index. Ich vermute, ich muss im VS irgendetwas einstellen, die Namen werden nämlich reinkompiliert. Kann mir da jemand helfen?
Auszug von BINDUMP:
Code:
ordinal hint RVA name
1 0 00001010 ?closeDictionary@@YAHXZ = ?closeDictionary@@YAHXZ (int __cdecl closeDictionary(void))
2 1 000010D0 ?currentCodePage@@YAPADXZ = ?currentCodePage@@YAPADXZ(char * __cdecl currentCodePage(void))
3 2 000010F0 ?hyphenLength@@YAHPAD@Z = ?hyphenLength@@YAHPAD@Z (int __cdecl hyphenLength(char *))
4 3 000011A0 ?hyphenate@@YAHPAD0@Z = ?hyphenate@@YAHPAD0@Z (int __cdecl hyphenate(char *,char *))
5 4 00001040 ?initializeDictionary@@YAHPAD@Z = ?initializeDictionary@@YAHPAD@Z (int __cdecl initializeDictionary(char *))
DLL:
Code:
__declspec(dllexport) int initializeDictionary(char* dictionary);
__declspec(dllexport) int closeDictionary();
__declspec(dllexport) char* currentCodePage();
__declspec(dllexport) int hyphenLength(char* word);
__declspec(dllexport) int hyphenate(char* word, char* hyphenated);
Import:
Delphi-Quellcode:
function closeDictionary: Integer; cdecl; external 'hyphenate.dll' name 'closeDictionary';
function initializeDictionary(Dictionary: PChar): Integer; cdecl; external 'hyphenate.dll' name 'initializeDictionary';
function currentCodePage: PChar; cdecl; external 'hyphenate.dll' name 'currentCodePage';
function hyphenLength(Word: PChar): Integer; cdecl; external 'hyphenate.dll' name 'hyphenLength';
function hyphenate(Word, Hyphenated: PChar): Integer; cdecl; external 'hyphenate.dll' name 'hyphenate';
Gruß
xaromz