Viel interessanter finde ich die Frage, was passiert, wenn die
DLL die entsprechende Routine gar nicht exportiert. Mit GetProcAddress erhalte ich einen Nil-Pointer, aber bei Delayed Loading?
Wie schon gesagt man muss nicht absichtlich exeption generieren..
Das reicht mir so für die eine function
BASS_WASAPI_GetData : function(buffer: Pointer; length: DWORD): DWORD;
Delphi-Quellcode:
if FileExists(ExtractFilePath(paramstr(0)) + basswasapi) then
begin
WasabiHandle := LoadLibrary(basswasapi);
if WasabiHandle <> 0 then
begin
@BASS_WASAPI_GetData := GetProcAddress(WasabiHandle, 'BASS_WASAPI_GetData');
if not Assigned (BASS_WASAPI_GetData) then
begin
ShowMessage('"Dynamic load"' + #13#10 + 'loading.. function BASS_WASAPI_GetData fail');
Halt;
end;
end;
end;
gruss