Простой примерчик, проверял работает:
Длл:
Код:
Library MyDLL;
Uses SysUtils;
Function ProcStr(AIn: PChar): PChar;
Var
T: PChar;
begin
T:= PChar('Надпись: ' + AIn);
Result:= T;
end;
Exports ProcStr;
begin
end.
Вызов:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
ProcStr: Function(AIn: PChar): PChar;
LibHandle: THandle;
AIn: PChar;
begin
LibHandle:= LoadLibrary('Project1.dll');
@ProcStr:= GetProcAddress(LibHandle, 'ProcStr');
AIn:= PChar(Edit1.Text);
ShowMessage(ProcStr(AIn));
FreeLibrary(LibHandle);
end;