Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Form1 und Form2, vermutlich Initialisierungsfehler

  Alt 1. Sep 2011, 11:30
Schon ein ganz kleiner Blick verrät das Problem.

Delphi-Quellcode:
Eingabe:= TForm2.Create(Eingabe);
...
Form2.Visible := true;
Fällt dir was auf?

Du erstellst eine Form und greifst dann auf eine ganz andere Variable zu.




Und genau deswegen sind globale Variablen schnell mal eine ganz böse Sache.


Eine Form läßt du dir von Delphi (siehe DPR / Projektoptionen) erstellen,
eine andere Form erstellst du dir selber
und dann kommst du durcheinander und graufst auf die falsche Variable zu.


PS: Den selben Fehler hatte hier shconmal jemand ... dieser ließ sich eine Form mehrfach von Delphi erstellen,
wobei die erste angezeigt wurde, da sie die Hauptform wurde und da alle die selbe "globale" Variable überschrieben, war auch nur die Letzte dort verlinkt.
Über die Variable war also eine andere Form erreichbar, als der Benutzer sah, weswegen natürlich die Benutzereingaben nie im Programm verwendet wurden.



Tipp: Wenn du Forms selber erstellst, lösche die globale Variable einfach aus der PAS raus (und natürlich nicht vorher vergessen Delphi mitzuteilen, daß es diese Form nicht automatisch, bei Programmstart, erstellen soll).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 1. Sep 2011 um 15:04 Uhr)
  Mit Zitat antworten Zitat