Natürlich
also wenn ich die
Unit einbinde kann ich String übergeben (Tolle sache), wenn ich dabei berücksichtige das die
DLL um einige Byts größer würd.
Das geht viel leichter in dem ich PChar nehme gibts null Probleme.
Ich mache hier gleich mal das Bsp:
DLL :
Delphi-Quellcode:
library Project1;
uses
SysUtils,
Classes,
dialogs,
comctrls;
{$R *.res}
function startdll: PChar;
var
Test: String;
begin
Test := 'test';
Result := PChar(Test);
end;
begin
exports
startdll;
end.
So und nun das Programm:
Delphi-Quellcode:
type
TTest = function: PChar;
procedure Tfmmain.Button1Click(Sender: TObject);
var
dllhandle: Thandle;
myFunc: TTest;
begin
dllhandle := 0;
try
dllhandle := LoadLibrary('Project1.dll');
@myFunc := GetProcAddress(dllhandle,'startdll');
if @myFunc <> nil then
form1.edit.text := myFunc;
finally
FreeLibrary(dllhandle);
showmessage('fertsch');
end;
end;
So habs jetzt aber noch nicht getestet
Programmieren ..... .