Ok es crasht nicht mehr. Worauf genau prüft "Assigned"?
Beim Debuggen fiel mir noch auf, dass an der Stelle:
Delphi-Quellcode:
initialization
if DllHandle = 0 then begin
DllHandle := LoadLibrary('ProjectDLL.dll');
if DllHandle > 0 then begin
@TestFunc := GetProcAddress(DllHandle,
'TestFunc');
End else begin
MessageDlg('TestFunc steht nicht zur Verfügung',
mtInformation, [mbOK], 0);
end;
end;
GetProcAddress = nil zurückgibt.
Das kann doch eigentlich nicht sein, wenn der
DllHandle richig überschrieben wurde, oder doch? An der Stelle
LoadLibrary kriegt das
DllHandle auch einen plausiblen Wert zugewiesen.