Home » Tutorials » VCL » TList

TList

Schritt 6

Zum Schluss fügen wir jetz wie versprochen noch die LoescheObjekt-Prozedur ein, damit wir keine Speicherleichen hinterlassen:

var Basis:^BasisTyp;
begin
if MausDown then
begin
if AnGewaehlt=-1 then Exit; // noch kein Objekt
Basis:=Objekte[AnGewaehlt];
Basis^.X:=Basis^.X+(X-MausX);
Basis^.Y:=Basis^.Y+(Y-MausY);
MausX:=X;
MausY:=Y;
PaintIt;
end;
end;

procedure THauptform.LoescheObjekt(Objekt:Pointer);
var Basis:^BasisTyp;
bild:^BildTyp;
Form:^FormTyp;
begin
Basis:=Objekt;
case Basis^.Typ of
1: begin
Bild:=Objekt;
Bild^.Image.Free;
Dispose(bild);
end; // bild
2: begin
Form:=Objekt;
Dispose(Form);
end; // form
end; // case
end;