Registriert seit: 31. Aug 2005
1.622 Beiträge
FreePascal / Lazarus
|
Liste mit TRects - Speicherleck?
17. Nov 2006, 21:35
Hallo, ich bin es mal wieder.
Ich habe eine Liste, in die man Rechtecke des Typs TRect einfügen kann (siehe unten).
Meine Frage ist nun, mache ich dies so richtig oder laufe ich womöglich Gefahr ein Speicherleck zu erzeugen?
Delphi-Quellcode:
procedure TRectList.Add(ARect: TRect);
var ar:PRect;
begin
new(ar);
ar^.Left := ARect.Left;
ar^.Top := ARect.Top;
ar^.Right := ARect.Right;
ar^.Bottom := ARect.Bottom;
inherited Add(ar);
end;
procedure TRectList.Clear;
var i:integer;
begin
for I := 0 to Count - 1 do
begin
FreeMem(inherited Items[i]);
Delete(i);
end;
end;
function TRectList.GetItem(AIndex:integer):TRect;
begin
result := PRect(inherited Items[AIndex])^;
end;
procedure TRectList.SetItem(AIndex:integer;AItem:TRect);
begin
inherited Items[AIndex] := @AItem;
end;
Danke für eure Hilfe,
igel457
Andreas "Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
|