Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#1

TObjectList Problem

  Alt 5. Dez 2011, 09:47
Hallo Leute,
ich hoffe dass ich hier richtig liege, ist ja mehr oder weniger wie ein 6er im Lotto zu wissen wo genau hier ein beitrag reingehört.
Also nun zu meinem Problem:
Ich muss ein Programm schreiben dass Panels zur Laufzeit erstellt und per Knopdruck wieder alle brav entfernt.
Das mit dem Erstellen ist ja kein Problem, habe ich mit NewPanel := TPanel.Create. Erst bei der 2. Frage fängt es an zu Hacken...
Ich habe mich entschlossen, für das Löschen der Panels eine TObjectList direkt zum Programmstart zu erstellen, in die ich alle erstellen Panels einordne. Wie ich die Panels lösche, zu dem Problem bin ich nicht einmal gekommen, denn es hackt bereits hier:
Aus irgenteinem Grund listet der die Neu erstellen Panels nicht in die Liste ein (k.a.wieso, wharcheinlich habe ich nur irgentetwas dummes übersehen. Hier mal schnell alles, was euch hierzu interessieren könnte:

Delphi-Quellcode:
var
  NewPanel: TPanel;
  PanelID: Integer = 1;
  PanelsList: TObjectList;
  { ... }

procedure TfmPool.FormCreate(Sender: TObject);
begin
  PanelsList := TObjectList.Create;
  { ... }
end;

procedure SpawnPanel(PanelX,PanelY: Integer);
begin
  NewPanel := TPanel.Create(Application);
  PanelsList.Add(NewPanel);
  with NewPanel do
  begin
    Name := 'Panel' + IntToStr(PanelID);
    PanelID := PanelID + 1;
    Left := PanelX;
    Top := PanelY;
    Caption := ObjectCaption;
    Parent := fmPool;
    Enabled := False;
    { ... }
    OnClick := fmPool.SelectObject;
  end;
end;

procedure TfmPool.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  PanelsList.Free;
end;
Anzuumerken wäre vielleicht, dass keine Fehlermeldung erscheint.
Vielen Dank
--Dennis
Dennis
  Mit Zitat antworten Zitat