Delphi: Kad se zavrshava SHOW event?

Delphi: Kad se zavrshava SHOW event?

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Programiram vec dosta godina, ali prvi put sam se susreo sa dotichnim problemom.
Imam jednu formu, u koju ucitavam drugu formu (cisto da simplifikujem objasnjenje).
Posto je prva forma kontejner za drugu, ona druga ne moze da se pozovoe sa ShowModal nego samo sa SHOW.

Sve je to fino... medjutim, imam jednu stvar koju moram da uradim tacno kada se zavrsi prikazivanje forme.
Kako da znam tacno kada je forma prikazana, tj kada se izvrshio Show?
(to moram da znam iz druge forme)

Napomena: Globalna varijabla ne dolazi u obzir.

Ima li neki Event koji se ispaljuje odmah nakon sto je Show zavrshen?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Nisam siguran da sam skroz razumeo tvoje pitanje... Kako da znas kada je forma prikazana? Pa vidis je valjda na ekranu? Ili ti imas neko vreme trajanja forme? Mozes da ubacis jednu dodatnu promenjljivu (moze i boolean) moja ce da dobije odredjenu vrednost kada se izvrsi linija koda za prikazivanje forme i na osnovu vrednosti te promenljive da znas sta je odradjeno prilikom izvrsavanja programa.



offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Druga, ugnjezdena forma mora da ima event tipa OnCreate (ako se kreira dinamicki), ili koristi OnPaint ako je forma kreirana pri startovanju programa a prikazuje se tek kasnije.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

ne znam Delphi. u VBu postoje Load i Activate Eventi i sluze za izvrsavanje nekog koda kada se stranica pokrene ili u slucaju Activate svaki put kada se 'aktivira' stranica... kada je focus na njoj... sigurno tako nesto postoji i u Delphiju....

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Nope, nope... niste razumeli

procedure forma.FormShow (Sender:TObject);
begin
....
....
....
end; // ABC

oznacio sam deo ABC. Sta se dogadja nakon sto se zavrshi END od procedure?
Vidim ja formu na ekranu, ali kako to da objasnim kontejneru koji je ucitao?
Nikakve varijable... zaboravite.

Jedino sta moze da se uradi jeste da kontejner kada kreira child formu, prosledi svoj HANDLE, pa da onda obavestim kontejner da je zavrshen proces show-a? Nesto u stilu:

procedure forma.FormShow (Sender:TObject);
begin
....
....
SendMessage(Handle.....);
end;

Jel pada nekome nesto bolje napamet?

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ako je forma u pitanju, ona ima svoj OnCreate event i on se izvrsava kada se forma kreira u memoriji (ne na ekranu). Koristi OnShow ako je forma kreirana ranije a zelis event koji se aktivira kada se forma prikaze na ekranu.

procedure forma.OnShow (....
begin
ParentForm.do_something;
end;

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Bas to...
Smile

offline
  • Pridružio: 15 Sep 2005
  • Poruke: 17
  • Gde živiš: Belgrade - City of Paviljoni

Au, pa to ste zakomplikovali kroz pricu samo tako Smile)))
OnShow se dosta koristi, nikako ne koristiti OnCreate ili OnActivate jer i jedna i druga su zeznute, Prva se izvrsava kada se kreira Forma u memoriji pa moze dotji do greske pri kreiranju a druga Svaki put kad je aktivirate (npr. ako je minimizovana ili ste kliknuli bilo gde oko forme ) ...
toliko od mene nije bas na temu al se nadam da sam pojasnio sva tri pojma Smile

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Nista bre nije zeznuto. Ima samo: razumes ili ne razumes kako nesto radi.
Nemoj da se plasis OnCreate... to je jedan mali slatki event, koji se izvshava odmah nakon izlaska iz Constructor-a.

Ko je trenutno na forumu
 

Ukupno su 1370 korisnika na forumu :: 56 registrovanih, 6 sakrivenih i 1308 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., aramis s, babaroga, bojank, Brana01, celik, cenejac111, cinoeye, croato, darkangel, DejanSt, Denaya, Dimitrise93, djboj, Djokkinen, draganca, Duh sa sekirom, dzoni19, GandorCC, gomago, goxin, hooraay, hyla, Ilija Cvorovic, Karla, kikisp, Klecaviks, Krvava Devetka, Kubovac, kunktator, ljuba, maiden6657, Marko Marković, mercedesamg, Mi lao shu, MikeHammer, mikrimaus, milenko crazy north, milutin134, oganj123, procesor, rasok, repac, ruma, Srle993, stankolich, suton, theNedjeljko, vathra, Viceroy, VJ, wolverined4, Wrangler, zeo, šumar bk2