Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#17

AW: Zugriff auf Objekt in TObjectList

  Alt 10. Dez 2019, 07:10
Hallöle...
Zitat:
Okay, vielleicht habe ich einen Denkfehler
...ganz gewaltig.
Zitat:
Man erstellt sie wenn man sie braucht und gibt sie frei, wenn man sie nicht mehr braucht.
Aber wenn man da was reinpackt und später damit weiterarbeiten will, gebe ich die doch nicht sofort frei.
...die anderen haben das schon mehrfach gesagt.

Da wir Autovergleiche haben, mache ich das mal mit einem Supermarkt...
Delphi-Quellcode:
procedure TDesign.Design_LogIn;
var
   BList: TObjectList;
begin
   BList:= TOBjectList.Create; //Ich erstelle die Liste
   Try
      BList.Add(Form_LogIn.btn_login_abbruch); //Packe die Buttons rein
      BList.Add(Form_LogIn.btn_login_ok);
      Labeling_GlowButtons(BList); //Hier verarbeite ich jeden einzelnen Button. Wenn diese Procedure fertig ist, sollen alle Buttons so aussehen, wie definiert und ich brauche die Liste nicht mehr, oder?
   Finally
      BList.OwnsObjects:= false;
      BList.Free; //Ich gebe die Liste wieder frei...
   End;
end;
Dieser Code bedeutet: Du kaufst dir an der Kasse eine Tüte.(Create) Du wirfst die Produkte direkt in die Tüte.(Add). Dann wirfst du die Tüte drauße direkt in den Papierkorb. (Free)
Frage: Wieviele Produkte hast jetzt im Auto?


eine der Lösungen:
Delphi-Quellcode:
private
  FBList:= TList<TTMSFNCToolBarButton>;
...
procedure TDesign.Create;
begin
  FBList:= TList<TTMSFNCToolBarButton>.Create;
end;

procedure TDesign.Destroy;
begin
  FBList.Free;
  inherited;
end;

procedure TDesign.Design_LogIn;
begin
  FBList.Add(Form_LogIn.btn_login_abbruch); //Packe die Buttons rein
  FBList.Add(Form_LogIn.btn_login_ok);
  Labeling_GlowButtons(FBList); //Hier verarbeite ich jeden einzelnen Button. Wenn diese Procedure fertig ist, sollen alle Buttons so aussehen, wie definiert und ich brauche die Liste nicht mehr, oder?
end;
Mit dieser Lösung behällst du die Liste und die Buttons, und kannst später durch die Liste iterieren. (Nochmaliges Ändern der Properties)

  Mit Zitat antworten Zitat