Цитата:
Сообщение от Yacudzer
Здравствуйте господа, вот назрел вопрос об освобождении памяти занятой типом String.
|
А если не обязательно PString, то
Код:
type
PMyInfo = ^TMyInfo;
TMyInfo = record
Str:PChar;
Len:integer;
Next:PMyInfo;
end;
var
MyInfo:PMyInfo = nil;
function GenInfo(Str:String):PMyInfo;
begin
new(Result);
Result.Next:=Nil;
Result.Len:=Length(Str);
GetMem(Result.Str,Length(Str)); {*}
Move(Str[1],Result.Str^,Length(Str));
end;
procedure DisposeMyInfo(aMyInfo:PMyInfo);
begin
FreeMem(aMyInfo.Str);
dispose(aMyInfo);
end;
begin
{...некоторый код...}
MyInfo := GenInfo('qwerty');
{...некоторый код...}
dispose(MyInfo);
end.
Со ссылками на Next разберёшься сам