Danke für den Tipp.
Das dynamische Einbinden von DLLs ist jetzt kein Problem mehr. Doch die Erstellung des Menüs, abhängig vom Handler, funktioniert noch nicht.
Beim Aufruf von GetProcAdress wird immer
nil zurückgegeben.
Ich habe folgendes geschrieben:
Delphi-Quellcode:
type
TFNCreateMenuItems = function (Menu: HMENU; indexMenu, idCmdFirst,
uFlags: UINT): HResult;
var
CreateMenuItems: TFNCreateMenuItems;
var
libHandle: THandle;
begin
libHandle := LoadLibrary(PChar('C:\PROGRAMME\ULTIMATEZIP\UZSHLEX.DLL'));
if libHandle <> 0 then
begin
@CreateMenuItems := GetProcAddress(libHandle,PChar('QueryContextMenu'));
if @CreateMenuItems <> nil then
begin
CreateMenuItems(PopupMenu1.Handle,0,0,0,CMF_NORMAL);
PopupMenu1.Popup(Mouse.CursorPos.x,Mouse.CursorPos.y);
end
else
ShowMessage('Fehler (@CreateMenuItems = nil): ' + IntToStr(GetLastError));
end
else
ShowMessage('Fehler (libHandle = 0): ' + IntToStr(GetLastError));
FreeLibrary(libHandle);
end;