moin zusammen,
ich versuch mich gerade an dlls und bin kurz vorm verückt werden. ich hab mir ein konstrukt aus einem tutorium gezogen was soweit funktioniert. wenn ich die anwendung aber schließe bekomm ich von delphi die meldung: "ungültige zeigeroperation"
die
dll:
Delphi-Quellcode:
uses
ShareMem,
SysUtils,
Classes;
{$R *.res}
function addTextparts(tex1, tex2:string):string; register;
begin
result := tex1 +tex2;
end;
exports
addTextparts;
und der aufruf aus einer der units des proggs:
Delphi-Quellcode:
function addTextparts(tex1, tex2:
string):
string;
var
gesamttText :Ttextzusammen;
Handle: THandle;
begin
Handle:=LoadLibrary(pchar(ExtractFilePath(ParamStr(0))+'
textad.dll'));
if Handle <> 0
then begin
@gesamttText := GetProcAddress(
Handle, '
addTextparts');
if @gesamttText <>
nil then begin
result:=gesamttText(tex1, tex2);
end;
FreeLibrary(
Handle);
end;
end;
es liegt auf jeden fall nicht an den stringop's, die hab ich auch schon versucht durch addition von zahlen zu ersetzen. hab auch schon versucht das freelibrary onclose auszuführen, hat aber auch nix gebracht...
danke
patrik
[edit=Daniel B]Delphi-Tags eingefügt. Mfg, Daniel B[/edit]