AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Verwaltung aller Forms eines Programms

Verwaltung aller Forms eines Programms

Ein Thema von hgf · begonnen am 5. Jan 2021 · letzter Beitrag vom 20. Jan 2021
Antwort Antwort
Seite 1 von 3  1 23   
hgf

Registriert seit: 5. Jan 2021
3 Beiträge
 
#1

Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 15:30
Hallo Delphi-Praxis,

ich will in einem großen Projekt (1500+ Forms) alle globalen Variablen entfernen. Dies betrifft auch die Formvariablen, die bei der Formerstellung automatisch von Delphi angelegt werden. Bisher hat der Zugriff auf jede Form über die eigene globale Variable stattgefunden.

Meine erste Idee hierzu war, dass ich alle erstellten Formen in einer Liste (TObjectList o.ä.) auf der MainForm verwalte. Die Formvariablen könnte ich durch ein Hilfsprogramm zu Funktionen ändern, welche mir dann die gewünschte Form aus dieser Liste heraussucht und zurückliefert. Dazu noch eine globale Funktion, die dann die erstellte Form in die Liste aufnimmt oder wieder auf nil setzt.

Habt ihr mit so einer Lösung Erfahrung? Wie sieht die Performance damit aus?
Habt ihr andere Lösungen für dieses Problem gefunden?
Tipps und Hinweise für das Entfernen von globalen Variablen sind auch willkommen.

Vielen Dank im Voraus,
hgf
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
978 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 16:16
Ich erzeuge weitere Formulare generell zur Laufzeit und verwende gar keine globalen Variablen dazu.
1500+ ist schon eine ganze Menge.
Wenn TObjectList dann besser TObjectList<TForm>.
Nicht auf die MainForm, sondern in eine separate unit namens FormManager o.ä., die dann die MainForm benutzt.
Das Zeitverhalten halte ich für völlig unkritisch. Ggf. ist ein TDictionary besser.
Wenn man es nach aussen gut kapselt dann kann man das interne immer noch später austauschen.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.766 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 16:47
Zitat:
Ggf. ist ein TDictionary besser.
+1
Zitat:
1500+ ist schon eine ganze Menge.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.435 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 16:59
Meine erste Idee hierzu war, dass ich alle erstellten Formen in einer Liste (TObjectList o.ä.) auf der MainForm verwalte.
Wird eine solche Liste nicht bereits in Screen.Forms gepflegt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.770 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 17:03
Zitat:
Wird eine solche Liste nicht bereits in Screen.Forms gepflegt?
Jein.

man würde so trotzdem zumindest eine globale Variable benötigen.
Markus Kinzler
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
767 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 18:10
Ggf. ist ein TDictionary besser.
Mit was für Typen und wofür? Warum nicht TObjectDictionary? Beachte, dass mehrere Forms mit dem Namen '' existieren dürfen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.435 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 18:54
man würde so trotzdem zumindest eine globale Variable benötigen.
Wieso? Was sollte diese Variable denn enthalten?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.912 Beiträge
 
#8

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 20:19
Das wird ein schönes Thema. Bin schon gespannt, wie der Grundcode / die Grundversion so eines Form-Managers aussehen könnte.
  Mit Zitat antworten Zitat
venice2

Registriert seit: 5. Dez 2019
Ort: Köln
648 Beiträge
 
Delphi 2010 Architect
 
#9

AW: Verwaltung aller Forms eines Programms

  Alt 5. Jan 2021, 20:42
man würde so trotzdem zumindest eine globale Variable benötigen.
Wieso? Was sollte diese Variable denn enthalten?
Forms? LOL

Was für ein Monster Projekt. Denke da ist einiges im argen das man mehr als 1500 Formulare benötigt..
Mein Ratschlag schreibe es neu.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Verwaltung aller Forms eines Programms

  Alt 6. Jan 2021, 09:35
man würde so trotzdem zumindest eine globale Variable benötigen.
Wieso? Was sollte diese Variable denn enthalten?
Forms? LOL

Was für ein Monster Projekt. Denke da ist einiges im argen das man mehr als 1500 Formulare benötigt..
Mein Ratschlag schreibe es neu.
Neu schreiben bei 1500 Forms?
Wer zahlt den sowas?

Ob 1500 Forms viel sind kommt halt auf die Art des Projektes an...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf