Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
Delphi 8 Architect
|
Re: Mehrere erzeute Objekte in Schleife wieder löschen?
19. Mär 2004, 14:54
Du mußt "Owner" durch den tatsächlichen gewünschten Owner (Form1?) ersetzen denke ich
Das folgende funzt tadellos:
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure AuftragArtCheck(Sender: TObject; var Key: Char);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
procedure DeleteTheControls;
procedure CreateTheControls;
end;
var Form1: TForm1;
MyEditList
, MyChkBoxList
, MyLabelList : TList;
implementation
{$R *.DFM}
// beschränke mich i.F. auf die Edits - die anderen Listen strickst Du nach dem selben Muster...
procedure TForm1.FormCreate(Sender: TObject);
begin
MyEditList := TList.Create;
end;
procedure TForm1.CreateTheControls;
begin
MyEditList.Add(TEdit.Create(self));
with TEdit(MyEditList.Last) do begin
Name := 'NewEditAuftragArt_1';
Parent := Form1.Panel1;
Font.Size := 10;
Width := 33;
Left := 81;
Top := 80;
Text := 'A';
MaxLength := 1;
OnKeyPress := AuftragArtCheck;
// OnEnter := AuftragAuftragErfassenEditOnEnter;
// OnChange := AuftragAuftragErfassenEditOnEnter;
end;
end;
procedure TForm1.DeleteTheControls;
var i : Integer;
begin
for i := MyEditList.Count-1 downto 0 do TEdit(MyEditList[i]).Free;
MyEditList.Clear;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FreeAndNil(MyEditList);
end;
procedure TForm1.AuftragArtCheck(Sender: TObject; var Key: Char);
begin
//
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateTheControls;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
DeleteTheControls;
end;
Tim Leuschner Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
|