Splash, Logowanie i MainForm

Odpowiedz Nowy wątek
2006-11-11 01:06

Rejestracja: 13 lat temu

Ostatnio: 2 lata temu

0

Witajcie.

Mam pewien mały problem z 3 formami: MainForm, Logowanie i Splash.
Chciałem aby po uruchomieniu programu, zależnie od opcji które wczyta z pliku ini,
pokazał SplashScreen, który po 5 sec znika, zaraz po nim dormularz do logowania no i na koniec głowny formularz programu.

Chciałem obsłużyć to wszystko z MainForm gdyż musze wczytać opcje. Chowanie się Splash-a po 5 sek mam już.
Dla MainFOrm ustawiłem:

procedure To_Glowna.FormCreate(Sender: TObject);
begin
  o_Splash := To_Splash.Create(nil);
  o_Splash.ShowModal;

  o_Haslo := To_Haslo.Create(nil);
  o_Haslo.ShowModal;
end;

Ale niestety pokaże się Splash, po 5 sek znika i później już odrazu główna forma, a gdzie Haslo?? :(

Macie może pomysł jak to osiagnąć??

Pozostało 580 znaków

2006-11-11 11:39

Rejestracja: 17 lat temu

Ostatnio: 4 lata temu

0

chyba powinno dzialac:

procedure To_Glowna.FormCreate(Sender: TObject);
begin
Application.ShowMainForm:=False; //ukryje forme glowna...
  o_Splash := To_Splash.Create(nil);
  o_Splash.ShowModal;

  o_Haslo := To_Haslo.Create(nil);
  o_Haslo.ShowModal;
Form1.Show; //...i dopiero teraz zacznie ja pokazywac.
end;

Pozostało 580 znaków

2006-11-11 12:04

Rejestracja: 13 lat temu

Ostatnio: 2 lata temu

0

Niestety jest tak samo :(.

W razie czego ta aplikacja jest tutaj: http://orlinet.internetdsl.pl/temp/test.rar

Pozostało 580 znaków

2006-11-11 16:52

Rejestracja: 16 lat temu

Ostatnio: 7 lat temu

0

takie rzeczy robi się w pliku dpr aplikacji - działa na 100%, dużo lepiej i przede wszystkim ładniej (dziwnie to wygląda jak program się cały odpala, pyta o hasło i przy błędnym się zamyka). Poza tym możesz na splasha dać progress i wyświetlać co aktualnie program robi (wczytywanie opcji, logowanie, tworzenie czegoś tam itd)


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-11-12 00:09

Rejestracja: 13 lat temu

Ostatnio: 6 lat temu

0

Tak wygląda mój *.dpr:

  Application.Initialize;
  SplashForm := TSplashForm.Create(Application);
  SplashForm.Show();
  SplashForm.Update();
  Application.CreateForm(TMDIMainForm, MDIMainForm);
  Application.CreateForm(TPasswordDlg, PasswordDlg);
  Application.CreateForm(TAboutBox, AboutBox);
  Application.CreateForm(TAddDel, AddDel);
  Application.CreateForm(TScrapColorForm, ScrapColorForm);
  SplashForm.Hide();
  SplashForm.Free();
  Application.Run;

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-11-12 01:48

Rejestracja: 13 lat temu

Ostatnio: 2 lata temu

0

OK, ale jeśli chcesz dodać do opcji programu możliwość wyłączenia pokazywania Splash-a to wtedy taki plik *.dpr się nie nada :(.

W moim przypadku, musi być wszystko sterowane z głownej formy programu, tylko dlaczego niechce on pokazać pokolei dwóch innych form (poleceniem ShowModal) tak jak podałem w pierwszym poście??

Pozostało 580 znaków

2006-11-12 02:07

Rejestracja: 17 lat temu

Ostatnio: 4 lata temu

0

ech...
po 1:

procedure To_Splash.Timer1Timer(Sender: TObject);
begin
  o_Splash.Close; //nie hide, tylko close, bo inaczej zatrzyma sie na showmodal!
//  o_Glowna.Show; -tego nie dawaj, bo po co?
  Timer1.Enabled := False;
end;

po 2:

procedure To_Glowna.FormCreate(Sender: TObject);
begin
Application.ShowMainForm := False; //ukryje forme glowna...
  If CheckBox1.Checked then
  begin
    o_Splash := To_Splash.Create(nil);
    o_Splash.ShowModal;
  end;

  If CheckBox2.Checked then
  begin
    o_Haslo := To_Haslo.Create(nil);
    o_Haslo.ShowModal;
  end;

o_Glowna.Show;
end;

po 3:
pozdrawiam ;]

Pozostało 580 znaków

2006-11-12 02:13

Rejestracja: 13 lat temu

Ostatnio: 2 lata temu

0

o qrcze, działa :D.
Dzięki wielkie.

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0