Autor Téma: Spuště Form2 s Form1  (Přečteno 6856 krát)

k.k

  • Host
Re:Spuště Form2 s Form1
« Odpověď #30 kdy: 19-03-2013, 09:07:39 »
Citace
aplikace se neobejde bez hlavniho formulare (Form1) - zrusenim zavres celou aplikaci,
Toho chci docilit.
Když dem ve Form1 do buttonu form1.close tak zavřu celou aplikaci.
Když to však dam do Form2.FormClose tak ne.

Offline Ondřej Pokorný

  • Guru
  • *****
  • Příspěvků: 815
  • Karma: 59
    • Verze Delphi: Primárně Lazarus, jinak D7 až aktuální
    • Kluug.net
Re:Spuště Form2 s Form1
« Odpověď #31 kdy: 19-03-2013, 09:25:40 »
Kód: Delphi [Vybrat]
  1. Application.Terminate;
  2.  
Zkus to do eventu OnClose. Mělo by to fungovat. Popř. můžeš i volat Form1.Close, nebo ne?
« Poslední změna: 19-03-2013, 09:28:05 od oxo »
Embarcadero Technology Partner

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2914
  • Karma: 135
    • Verze Delphi: D2007, XE3, DX10
Re:Spuště Form2 s Form1
« Odpověď #32 kdy: 19-03-2013, 09:41:38 »
Moh bych ještě jeden dotaz lamy.
Když do toho Form2 dam button a na něj přikaz form1.close je vše OK a po kliknuti se cely program ukonči.
Proč to nefunguje ve Form2.FormClose
Když kliknu ve Form 2 na křižek (uzavřit) aby se ukončil i form1.
Lama, nelama, ale premyslet bys mohl, ne?
Kdyz si das tlacitko a do jeho udalosti prikaz form1.close, tak tim explicitne rikas, ze chces pri stisku tlacitka zavrit form1. Ale zavreni okna je prece uplne jina udalost a s tvym tlacitkem nema nic spolecneho (napr. existuje, i kdyz tam zadne tlacitko nemas). Takze pokud to chces resit explicitni operaci pro zavreni formu1 (architektonicky je to prasarna, protoze Form1 vytvarel Form2 a Form2 by nemel o existenci Form1 nic nevedet, protoze ho mohl klidne vytvorit treba  form150 apod., pokud uz si ty formulare tak hloupe pojmenovavas), tak tu operaci budes muset predepsat pri zavreni okna jeste jednou.