Einzelnen Beitrag anzeigen

Yakumo500

Registriert seit: 15. Nov 2008
Ort: Darmstadt
106 Beiträge
 
#1

Parameter von Host App in DLL freigeben?

  Alt 26. Nov 2012, 17:59
Hi,
ich schreibe grade eine Bibliothek in FreePascal. Bisher habe ich immer alle von der Anwendung übergebenen Parameter - falls sie Pointer benutzen - in der Bibliothek freigegeben. Das hat auch geklappt. Aber eigentlich benutzen ja die Anwendung und die Bibliothek nicht den gleichen Speicher. Entstehen dabei Memory Leaks? Und wie kann die Bibliothek überhaupt Speicher von der Host App freigeben?

Als Beispiel:

Bibliothek:
Delphi-Quellcode:
procedure Test(a: PAnsiChar);
begin
  // Mache was mit Parameter
  StrDispose(a);
end;

// ...
exports
  Test;
Host App:
Delphi-Quellcode:
var str: PAnsiChar;

begin
  // Erstelle PAnsiChar
  str := StrNew('Hallo!');
  Test(str);
end;
  Mit Zitat antworten Zitat