Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Before Form Activate

[es] :: Pascal / Delphi / Kylix :: Before Form Activate

[ Pregleda: 1726 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mica99
Srbija

Član broj: 243749
Poruke: 90
*.dynamic.isp.telekom.rs.



+1 Profil

icon Before Form Activate07.01.2012. u 22:59 - pre 148 meseci
Radim jedan database program na mysql i to na remote serveru .
procedure su sledece
on form.activate program proverava licencu i posle on form.create konektuje se na mysql.
Posto je rec o remote serveru gde je mysql baza to dosta sporo radi tako da za vreme dok on proverava licencu i konektujese na server, ne postoji
nikakva poruka "Please wait" ili nesto slicno .
Da li neko ima ideju kako bi mogo da ubacim neku animaciju ili neki prozor sa porukom dok se ne konektuje na server tipa before form activate?

Hvala.
 
Odgovor na temu

dekys
Dejan Stevanović

Član broj: 464
Poruke: 104



+1 Profil

icon Re: Before Form Activate08.01.2012. u 13:00 - pre 148 meseci
ja sam nekada koristio nesto slicno ovome u te svrhe

http://www.delphitricks.com/so...ms/create_a_splash_screen.html
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Before Form Activate09.01.2012. u 03:15 - pre 148 meseci
Nisam bas siguran da sam te razumeo, ali OnActivate se odigrava nakon OnCreate, ne pre njega: Understanding the Birth, Life and Death of a Delphi Form

Ako hoces da ubacis formu koja ce biti vidljiva dok traje konektovanje, trebas da odradis nesto slicno kao u linku koji ti je dekys dao, s' tim sto bih ja koristio ShowModal() za prikazivanje te forme. Kreiranje te forme i prikazivanje bi smestio u AfterShow event. Kako da implementiras AfterShow event: http://www.swissdelphicenter.ch/torry/showcode.php?id=1276

Sav kod koji radi sa serverom (provera license, konektovanje) bih smestio u OnAfterShow() event nove forme, i takodje bih u toj novoj formi dodao jedan property koji ce vratiti kako je prosla provera license i konektovanje na server. Recimo, promenljivu Result koja ce vratiti 0 za uspesnu proveru/konektovanje, 1 za fail kod provere, 2 za fail kod konektovanja.. itd.

Recimo da ti se forma koja ce se prikazivati dok se vrsi konektovanje zove TConnectForm. U AfterShow proceduri glavne forme bi onda imao nesto ovako:

Code:

procedure TForm.WmAfterShow(var Msg: TMessage);
begin
  Application.CreateForm(TConnectForm, ConnectForm);
  ConnectForm.ShowModal; // prikazujes formu i prekidas izvrsavanje glavne forme

  Case ConnectForm.Result of // ovde proveravas ishod provere licence i konektovanja
    0 :
    1 :
    2 :
    ...
  End;

  FreeAndNil(ConnectForm);
end;


U AfterShow eventu ConnectForm bi imao:

Code:

procedure TConnectForm.WmAfterShow(var Msg: TMessage);
begin
  // provera license
  // konektovanje na server
  Result := 0, 1, 2; // ovde setujes result, zavisno od toga kako je prosla provera licence i konektovanje
  Close; // ovim zatvaras formu i nastavljas izvrsavanje glavne forme
end;


[Ovu poruku je menjao reiser dana 09.01.2012. u 04:31 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Before Form Activate

[ Pregleda: 1726 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.