Mam pytanie:
Powiedzmy że piszę aplikację i chcę w niej zaimplementować możliwość dodatków pisanych osobno jako DLLe w których znajdują się funkcje.
Wiem że aby dynamicznie zaimportować jakąś funkcję\procedurę z parametrami muszę zrobić coś takiego:
procedure WywolajFunkcje;
type func = procedure(HWND:Integer;text: String;caption:String;flags:Integer);
var
DLL: THandle;
funkcja: func;
begin
try
DLL := LoadLibrary('User32.dll');
funkcja := GetProcAddress(DLL,'MessageBox');
funkcja(0,'Hello World','Message',MB_OK + MB_ICONWARNING);
if @funkcja = nil then raise Exception.Create('Błąd podczas ładowania funkcji');
finally
FreeLibrary(DLL);
end;
end;
Ale jak załadować dużą liczbę funkcji\procedur z dll oraz jak je wykorzystać nie znając ich parametrów?
Tak mnie to zaciekawiło, próbowałem ale bez skutku więc postanowiłem zapytać.
Można byłoby zrobić funkcje eksportującą liczbę funkcji ale potem trzeba by to było jakoś 'obrobić'