Zitat von
Ultimator:
Naja, wenn du nicht angibst, welche Länge ein String hat, dann weißt du ja nicht, wieviel Speicher er belegt.
Das ist nicht das Problem, denn in diesem Fall wird ein AnsiString benutzt und der ist nur ein Zeiger.
Das eigentliche Problem ist, dass hier GetMem anstatt New (und wahrscheinlich FreeMem statt Dispose) aufgerufen wird. Dadurch wird dem Compiler die Möglichkeit genommen den AnsiString zu verwalten (dieser besitzt einen Referenzzähler den der Compiler verwaltet).
New(Param);