Mit LoadLibrary kann man eine
DLL laden und über GetProcAddress den Einsprungpunkt suchen. Die erforderlichen Parameter musst Du allerdings wissen und vorher unter Type deklarieren. Ergibt Assigned dann NIL, existiert Deine Funktion nicht.
Delphi-Quellcode:
Const
szNameDLL = '
MediaInfo.DLL';
szNameMediaInfo_Open = '
MediaInfo_Open';
...
Type
TFNMediaInfo_Open =
function(File__: PAnsiChar): Cardinal
cdecl {$IFDEF WIN32} stdcall {$ENDIF};
...
var
lib: THandle;
MediaInfo_Open: TFNMediaInfo_Open;
...
Function GetEntryPoints: Boolean;
implementation
Function GetEntryPoints: boolean;
begin
@MediaInfo_Open :=
NIL;
...
lib := LoadLibrary(@szNameDLL[1]);
if lib = 0
then GetEntryPoints := False
else begin
GetEntryPoints := True;
@MediaInfo_Open := GetProcAddress(lib, @szNameMediaInfo_Open[1]);
if not Assigned(MediaInfo_Open)
then GetEntryPoints := False;
...
end;
end;