Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.166 Beiträge
 
Delphi 12 Athens
 
#4

AW: DLL und übergabe von PChar

  Alt 8. Mai 2014, 16:16
Wie schon genannt, muß sich Einer um die Speicherverwaltung kümmern.

entweder der Aufrufer
- der reserviert vorher den Speicher und gibt am Besten auch noch die Größe des Speichers mit (Bei Google suchenGetWindowText)
- oder er fragt vorher die Größe des nötigen Speichers ab und reserviert ihn ebenfalls (GetWindowText + MSDN-Library durchsuchenGetWindowTextLength oder siehe das GetEnvironmentVariable-Beispiel)

oder der Aufgerufene reserviert den Speicher
- der Aufrufer muß dann hinterher über eine weitere Prozedur der DLL sagen, daß die den Pointer wieder freigeben muß (GetMem und Delphi-Referenz durchsuchenFreeMem)

oder jemand komplett Anderes kümmert sich um den Speicher
- hier könnte man z.B. den WideString verwenden (da drin verstecken sich dann MSDN-Library durchsuchenSysAllocStringLen und MSDN-Library durchsuchenSysFreeString)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 8. Mai 2014 um 16:19 Uhr)
  Mit Zitat antworten Zitat