Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - FormClose funktioniert nicht


Tjeri - So 02.05.10 21:07
Titel: FormClose funktioniert nicht

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TTurnier.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Turnier.Visible := false;
  Spieler.Visible := true;
end;

Ich habe es nach Vorlage eines funktionierenden Programms geschrieben aber es tut nicht was es soll, ich bekommen weder dieses hin, noch krieg ich es hin, dass er das Programm direkt beenden...warum nicht? xD

Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt
Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 02.05.2010 um 22:56


Robert.Wachtel - So 02.05.10 21:26

user profile iconTjeri hat folgendes geschrieben Zum zitierten Posting springen:
[...] es tut nicht was es soll [...]

Was soll es denn tun?


Tjeri - So 02.05.10 21:30

offensichtlich das formblatt unsichtbar machen und das andere sichtbar


Robert.Wachtel - So 02.05.10 21:31

Na, wenn das so offensichtlich ist, dann wird er das schon so machen.


Tjeri - So 02.05.10 21:35

tut er ja eben nicht...

wenn du nicht helfen kannst lass andere helfen^^


Robert.Wachtel - So 02.05.10 21:45

user profile iconTjeri hat folgendes geschrieben Zum zitierten Posting springen:
tut er ja eben nicht... [...]

Doch, genau das wird er machen. Es stellt sich eher die Frage nach dem wann, als nach dem ob.

Zitat:
[...] wenn du nicht helfen kannst lass andere helfen^^

Gerne.

Mal sehen, wer bei so sorgfältiger und detailreicher Problemdarstellung dazu bereit ist.


Tjeri - So 02.05.10 21:55

aber was willst du wissen außer dem was da steht?

ich will das er bei klick auf das x oben das fenster schließt und ein anderes öffnet


Xion - So 02.05.10 21:59

user profile iconTjeri hat folgendes geschrieben Zum zitierten Posting springen:
offensichtlich das formblatt unsichtbar machen und das andere sichtbar

Das macht er

user profile iconTjeri hat folgendes geschrieben Zum zitierten Posting springen:
ich will das er bei klick auf das x oben das fenster schließt und ein anderes öffnet

Das macht er nicht unbedingt. Probiers mal mit Spieler.Show. Zudem ist es Unsinn, eine Form die geschlossen wird, unsichtbar zu machen (die ist ja eh weg danach).


Robert.Wachtel - So 02.05.10 22:01

In Ergänzung zu den Hinweisen von @Xion wäre noch zu klären, ob Deine Methode FormClose überhaupt dem entsprechenden Ereignis (OnClose) zugewiesen ist.


Tony-S - So 02.05.10 22:05

das was du da versuchst klappt ja auch, nur das Fenster muss auch sagen wir mal aufgerufen werden,
probiers mal mit:

Spieler.Show;


Robert.Wachtel - So 02.05.10 22:08

user profile iconTony-S hat folgendes geschrieben Zum zitierten Posting springen:
[...] probiers mal mit:

Spieler.Show;

Nur mal so als Einwurf der entsprechend Quellcode der VCL:

Forms.pas hat folgendes geschrieben:

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TCustomForm.Show;
begin
  Visible := True;
  BringToFront;
end;



Moderiert von user profile iconNarses: Code- durch Delphi-Tags ersetzt


Tjeri - So 02.05.10 22:29

Jo danke ich hatte das mit dem Zuweisen vergessen =)