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 (
GetWindowText)
- oder er fragt vorher die Größe des nötigen Speichers ab und reserviert ihn ebenfalls (GetWindowText +
GetWindowTextLength 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
FreeMem)
oder jemand komplett Anderes kümmert sich um den Speicher
- hier könnte man z.B. den WideString verwenden (da drin verstecken sich dann
SysAllocStringLen und
SysFreeString)