История изменений
Исправление xwicked, (текущая версия) :
Если пройтись по цепочки зависимостей (либы тоже могут дёргать функционал друг друга) то он всё равно станет непомерно жирным. Плюс ты можешь не знать, что действительно нужно, пока не запустишь свой код.
В коде чётко прописаны все либы и фукции используемые.
procedure Button1Click(Sender: TObject);
begin
{"Чистим" адрес функции от "грязи"}
@GetSimpleText := nil;
{Пытаемся загрузить библиотеку}
LibHandle := LoadLibrary('MYDLL.DLL');
{Если все OK}
if LibHandle >= 32 then begin
{...то пытаемся получить адрес функции в библиотеке}
@GetSimpleText := GetProcAddress(LibHandle,'GetSimpleText');
{Если и здесь все OK}
if @GetSimpleText <> nil then
{...то вызываем эту функцию и показываем результат}
ShowMessage(StrPas(GetSimpleText(True)));
end;
{И не забываем освободить память и выгрузить DLL}
FreeLibrary(LibHandle);
end;
Исходная версия xwicked, :
Если пройтись по цепочки зависимостей (либы тоже могут дёргать функционал друг друга) то он всё равно станет непомерно жирным. Плюс ты можешь не знать, что действительно нужно, пока не запустишь свой код.
В коде чётко прописаны все либы и фукции используемые.
procedure Button1Click(Sender: TObject);
begin
{"Чистим" адрес функции от "грязи"}
@GetSimpleText := nil;
{Пытаемся загрузить библиотеку}
LibHandle := LoadLibrary('MYDLL.DLL');
{Если все OK}
if LibHandle >= 32 then begin
{...то пытаемся получить адрес функции в библиотеке}
@GetSimpleText := GetProcAddress(LibHandle,'GetSimpleText');
{Если и здесь все OK}
if @GetSimpleText <> nil then
{...то вызываем эту функцию и показываем результат}
ShowMessage(StrPas(GetSimpleText(True)));
end;
{И не забываем освободить память и выгрузить DLL}
FreeLibrary(LibHandle);
end;