Einzelnen Beitrag anzeigen

__patrik

Registriert seit: 8. Mai 2003
Ort: hamburg
32 Beiträge
 
Delphi 7 Professional
 
#1

ungültige zeigeroperation bei dll

  Alt 14. Aug 2003, 18:25
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]
  Mit Zitat antworten Zitat