Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#18

Re: DLL Funktionen dynamisch laden

  Alt 22. Apr 2008, 12:14
Delphi-Quellcode:
function hwfunc(ReqInfo:TIdHTTPRequestInfo;ResInfo:TIdHTTPResponseInfo):TMemoryStream;stdcall;
var
vfile:TStringlist;
begin
result := TMemoryStream.Create;
vfile := tstringlist.Create;
vfile.Add('Test hahah _:D');
vfile.SaveToStream(result);
vfile.Free;
result.Position := 0;
ResInfo.ContentStream := result;
ResInfo.WriteContent;
result.Free; / <-- Soll das da wirklich sein ???????????
end;
Ich denke nicht. Schließlich willst du außerhalb der DLL auf das Ergebnis der Funktion zu greifen.


Sauber wäre:

Delphi-Quellcode:
Procedure hwfunc(Var Result:TMemoryStream;ReqInfo:TIdHTTPRequestInfo;ResInfo:TIdHTTPResponseInfo);stdcall;
var
vfile:TStringlist;
begin
vfile := tstringlist.Create;
vfile.Add('Test hahah _:D');
vfile.SaveToStream(result);
vfile.Free;
result.Position := 0;
ResInfo.ContentStream := result;
ResInfo.WriteContent;
end;
Wobei Result außerhalb der DLL allociert und freigegeben werden sollte.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat