Danke für die vielen Antworten.
Die beiden DLLs sind vollkommen identisch. Genauso wie die aufrufende exe. (Ich habe sie testweise beide gelöscht und dann per batchdatei neu rüberkopiert.)
Aus irgend einem weiterem unerkenntlichen Grund :) - schafft er es jetzt nicht mal mehr die
dll mit loadlibrary zu laden :|.
Ich habe eine debugdatei erzeugt, und die angaben stimmen. Es funktioniert auf dem einem PC auf dem anderen nicht.
Code:
Rechner1
[14:34:10:
DLL] pfad: C:\dev\MyProject\
[14:34:10:
DLL] dllname: C:\dev\MyProject\dllname.dll
[14:34:10:
DLL] LastError: 1
[14:34:10:
DLL]
handle:87818240
Rechner2
[14:35:25:
DLL] pfad: E:\MyProject\
[14:35:25:
DLL] dllname: E:\MyProject\dllname.dll
[14:35:25:
DLL] LastError: 0
[14:35:25:
DLL]
Handle: 0
Ich habe es einmal mit
UnserTollesHandle := LoadLibrary(PChar(pfad+'dllname.dll'));
und
UnserTollesHandle := LoadLibrary(PChar(dllname));
probiert, beides schlägt nur auf dem 2.rechner fehl.
edit:
Zitat von
shmia:
Nimm mal folgende Funktion und lass dir direkt nach LoadLibrary den Pfad anzeigen:
function GetModulePath(const Module: HMODULE): string;
was möchte diese funktion als parameter? Eigentlich ist der Pfad doch egal, wenn ich die position der
dll absolut angebe, oder?