Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Problem mit Form1.Close

  Alt 22. Feb 2012, 22:17
Genau aus dem Grund, warum "map" nicht global sein sollte ( Es würde sich doch bestimmt bei Apfel, Futter und Co. ganz wohl fühlen? ), sondern in dem Scope/Gültigkeitsbereich deklariert sein sollte, damit diese Variable so nah wie möglich an der Verwendung liegt und sich somit schwerer eine andere "gleichnamige" Variable dazwischenschleichen kann, sollte man auch keine globalen Variablen verwenden.

Im Falle von "map" würde man dann das naheliegenste bekommen,
geneuso, wie du hier das naheliegenste Feld "Form1" abbekommen hast und nicht die böse globale Variable "Form1".

Zitat:
einfach Form1 lassen oder?
Nein, davon ist abzuraten.
Du bist schon in der Form, also greif auch direkt drauf zu.

Delphi-Quellcode:
procedure TForm1.Beenden1Click(Sender: TObject);
begin
  snake_ende;
  if MessageDlg('Möchtest du das Spiel schließen?', mtCustom, [mbYes, mbNo], 0) = mrYes then
    Close;
end;

// oder

procedure TForm1.Beenden1Click(Sender: TObject);
begin
  Self.snake_ende;
  if MessageDlg('Möchtest du das Spiel schließen?', mtCustom, [mbYes, mbNo], 0) = mrYes then
    Self.Close;
end;
Vergleich: Du kannst von der Stube direkt in die Küche gehn,
oder du kannst aber auch erst in den Keller und von dort mit dem Ersatzschlüssel durch die Hintertür zur Küche.
(Passe aber auf, daß du dort nicht den falschen Schlüssel, zur Nachbarwohnung erwischst ... genau sowas passiert mir globalen Generalschlüsseln ganz schnell mal)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Feb 2012 um 22:25 Uhr)
  Mit Zitat antworten Zitat