Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Array of <KLASSENNAME> - Strukturfrage (https://www.delphipraxis.net/152506-array-klassenname-strukturfrage.html)

moelski 24. Jun 2010 19:22

Array of <KLASSENNAME> - Strukturfrage
 
Moin !

Ich baue mir da gerade einen kleinen Editor für meinen Installer. Und dieser Editor soll nun mehrere Konfigs vorhalten können. Es gibt deshalb eine Klasse TProject (gekürzt):
Delphi-Quellcode:
 type
   TProject = Class(TPersistent)
     private
       FProjName       : string;
       FProjVersion    : string;
     published
       constructor Create;
       procedure CreateTreeStructure;
       property ProjName       : string   read FProjName          write FProjName;
       property ProjVersion    : string   read FProjVersion       write FProjVersion;
   end;
So und in meinem Hauptformular habe ich dann folgende Struktur:
Delphi-Quellcode:
var  MainForm   : TMainForm;
      Projects   : Array of TProject;
Das funktioniert soweit ganz gut, aber ich frage mich ob es gut / richtig ist das so als globales Array zu definieren.

Frage wäre deshalb mal wie ihr sowas im Allgemeinen löst. :gruebel:

mkinzler 24. Jun 2010 19:27

AW: Array of <KLASSENNAME> - Strukturfrage
 
Könnte natürlich auch eine Eigenschaft einer Klasse sein. Zudem würde ich keinen Array sonder eine (Objekt-)Liste verwenden

moelski 24. Jun 2010 19:38

AW: Array of <KLASSENNAME> - Strukturfrage
 
Moin !

Zitat:

Könnte natürlich auch eine Eigenschaft einer Klasse sein
Stimmt.

Zitat:

Zudem würde ich keinen Array sonder eine (Objekt-)Liste verwenden
Meinst du TList?
Welchen Vorteil hat man davon?

mkinzler 24. Jun 2010 19:40

AW: Array of <KLASSENNAME> - Strukturfrage
 
Eher TObjectList. Wäre dann mehr OOP

rollstuhlfahrer 24. Jun 2010 19:40

AW: Array of <KLASSENNAME> - Strukturfrage
 
Wenn du eine TObjectList verwendest, musst du dich nicht mehr um das Aufräumen des Speichers kümmern (also .Free der Objekte). Das übernimmt dann die TObjectList für dich, wenn du die Liste löschst oder ein Element aus der Liste entfernst.

Bernhard

DeddyH 25. Jun 2010 08:34

AW: Array of <KLASSENNAME> - Strukturfrage
 
Wenn man das aber nicht will, kann man den Defaultwert von OwnsObjects im Konstruktor auf false setzen, dann ist man selbst für den Speicher verantwortlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz