AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formulare ohne die globale Standardvariable

Ein Thema von urs.liska · begonnen am 14. Aug 2003 · letzter Beitrag vom 15. Aug 2003
Antwort Antwort
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#1

Formulare ohne die globale Standardvariable

  Alt 14. Aug 2003, 18:38
Hallo,

ich habe eine Frage, ob ich folgendes 'ungestraft' machen kann:

Ich benötige für ein Programm eine Formularklasse, von der ich dynamisch beliebig viele Instanzen erzeugen und mit einem Array verwalten kann.

Es ist natürlich kein Problem, die Form in den Projektoptionen zu den 'verfügbaren Formularen' zu verschieben, so dass sie nicht beim Programmstart automatisch erzeugt wird.
Ich würde aber gerne - der Ordnung (?) halber - auch auf die Globale Variable, die ja von Delphi automatisch angelegt wird verzichten, denn ich benötige ja nie das Objekt 'Form2', sondern immer nur Objekte die ich beispielsweise so erzeuge:
Kontaktformulare[i] := TForm2.Create(Application); Um die globale Variable loszuwerden, muss ich zwei Schritte durchführen: 1. die Variablendeklaration in der Form-Unit und 2. den Verweis in der Projekt-DAtei (den letzten Teil der Zeile in geschwungenen Klammern) entfernen.
Es scheint so auch alles zu funktionieren, ich sehe die Form nicht mehr in den Projektoptionen, und das Programm läuft trotzdem.
Da ich aber aus meiner 'aus-Büchern-lern-Zeit' daran gewöhnt bin, dass man Delphis Automatik möglichst nicht dazwischen funken soll, wollte ich hier fragen, ob jemand irgendwelche Probleme sieht, die ich bei diesem Ansatz übersehen habe.

Vielen Dank
Urs
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#2

Re: Formulare ohne die globale Standardvariable

  Alt 14. Aug 2003, 18:57
ich sehe keinen, du verlagerst die Variable ja nur von der Unit2 in die Main.

PS: Ich machs genauso
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Formulare ohne die globale Standardvariable

  Alt 15. Aug 2003, 13:44
Moin Urs,

wenn schon, dann richtig

Lösch auch noch die Application.CreateForm für das Formular aus der Projektdatei.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#4

Re: Formulare ohne die globale Standardvariable

  Alt 15. Aug 2003, 15:46
Danke Christian, aber auf dem Weg, den ich genommen hatte (die Form zuerst in den Projektoptionen zu den 'verfügbaren Formularen' zu verschieben), wurde das von Delphi automatisch erledigt

Das heißt aber, dass es auch von Deiner Seite keine Bedenken dagegen gibt?

Herzliche Grüße
Urs
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: Formulare ohne die globale Standardvariable

  Alt 15. Aug 2003, 16:02
Hi Urs,

es ist sogar eine verdammt gute Methode, da nun die Objectverhältnisse, wer das Form erstellt und es auch wieder zerstören muß, exakt geklärt sind. Eines der schlimmsten Übel bei den Forms sind nämlich diese "globalen" Formular Variablen. Meine Lehrlinge nutzten immer wieder diese globalen Variablen statt innerhalb der Objectmethode mit Self auf die Eigenschaften des Formulars zuzugreifen. Damit sind diese globalen Form Variablen kontraproduktiv und ein großes Übel.

Sie wären halbwegs erträglich wenn das Formular sie bei seiner Zerstörung wieder auf nil setzen würde.

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 22:38 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