Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

AW: Mehrsprachingkeit

  Alt 24. Nov 2020, 13:40
Zitat:
Delphi-Quellcode:
Application.CreateForm(TForm1, Form1); Myforms.items.add('Form1');
Application.CreateForm(TForm2, Form2); Myforms.items.add('Form2');
...
Wem fällt da was auf?
Ganz viel doppelter Code.
* Man kann CreateForm und Items.Add in eine Funktion auslagern und den Namen aus Form.Name verwenden. (kein eventueller Copy&Paste-Fehler beim Namen)
* man kann die "Registrierung" auch im Constructor/OnCreate der Forms erledigen, bzw. in einem gemeinsamen Vorfahren seiner Forms.

Da in myforms nicht der Name, sondern die Instanz beötigt wird, warum ist das keine TObjectList oder bei einer StringList kann man auch zusätzlich das Objekt speichern.
Wobei ich bei StringList.AddObject auch direkt an ein TDictionary<string,TForm> denken würde.

Und da es in Screen.Forms bereits eine Liste "aller" VCL-Forms gibt, warum nicht diese Liste benutzen?

Das GetComponentCaptions nutzt nichts von der Form, also warum ist das dann keine Class Procedure ?



TComponent.Name oder TForm(string) .... ja, die richtigen Typen sollte man immer verwenden.
Casten wen nötig, aber wenn man castet, dann auch nur zwischen kompatiblen Typen.
$2B or not $2B

Geändert von himitsu (24. Nov 2020 um 13:45 Uhr)
  Mit Zitat antworten Zitat