AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Spiel programmieren, ( Form1 soll Form2 neu erstellen)
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel programmieren, ( Form1 soll Form2 neu erstellen)

Ein Thema von Bosgu · begonnen am 4. Jun 2011 · letzter Beitrag vom 5. Jun 2011
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Spiel programmieren, ( Form1 soll Form2 neu erstellen)

  Alt 4. Jun 2011, 15:20
In den Projekt-Optionen - Formulare die Form2 aus der Liste nehmen, damit dieses nicht automatisch bei Programmstart erzeugt wird.
Denn hierbei passiert nix
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Form2 ist noch gar nicht erzeugt, darum ist das für die Katz
  Form2.Free;
end;
Generell ist es geschickter folgendermassen vorzugehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Assigned( Form2 ) then
    Form2.Free;
  Form2 := TForm2.Create( Application );
  Form2.Show;
end;
Damit das Assigned auch immer korrekt funktioniert, sollte folgender Code in Form2.OnDestroy aufgerufen werden
Delphi-Quellcode:
procedure TForm2.OnDestroy( Sender : TObject );
begin
  if Form2 = Self then
    Form2 := nil;
end;
Dann könnte man sich auch zwei Methoden schreiben
Delphi-Quellcode:
procedure TForm1.ZeigeForm2;
begin
  if not Assigned( Form2 ) then
    Form2 := TForm2.Create( Application );
  Form2.Show;
end;

procedure TForm1.EntferneForm2;
begin
  if Assigned( Form2 ) then
    Form2.Free;
end;
Der Button zum Resetten bekommt dann folgendes:
Delphi-Quellcode:
procedure TForm1.Button1Click( Sender : TObject );
begin
  EntferneForm2;
  ZeigeForm2;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 4. Jun 2011 um 15:29 Uhr)
  Mit Zitat antworten Zitat
 


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 06:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz