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]