Jak sprawdzić aktywację przed pokazaniem głównego okna programu?

0

Witam!
Mam następujący problem. Sprawdzam w momencie uruchomienia programu czy program jest aktywowany. Mam już napisaną odpowiednią procedurę. Tyle że wszystko razem wygląda nieelegancko. Otwiera się główny formularz/okno programu Form1 i tam w zdarzeniu onCreate sprawdzam czy program jest aktywowany i jeżeli nie jest, to ustawiam Visible=false tego formularza i w zdarzeniu onShow otwieram Form2 służące do aktywacji programu.
I jakoś to działa, ale nie jestem zadowolony, bo przez moment widać formularz Form1. Brzydko to wyglada.
Jak zrobić by program sprawdzał aktywację nim pokaże jakieś okno i w zależności od sytuacji otwierał formularz główny Form1 lub ten do aktywacji Form2?

1
program Project1;

uses
  Forms, Controls,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}
var
  aktywny: Boolean;
begin
  Application.Initialize;
  aktywny:= False; //tu oczywiscie funkcja sprawdzajaca czy aktywny
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  if not Aktywny then //jezeli nie aktywny
  begin
   if Form2.ShowModal = mrOK then //wlasnie aktywowano
     Application.Run; //wiec uruchamiamy
  end
  else //juz aktywny
    Application.Run; //uruchamiamy
end.
1

Lepiej użyć LCLowego rozwiązania showmainform.
No ale według niektórych lepiej rozwiązać problem za innych. Cóż, jak zwykle, nie jest to na złość mi, tylko pytaczom.

1
-123oho napisał(a):

Lepiej użyć LCLowego rozwiązania showmainform.

No jasne zawsze wszystko wiesz lepiej tylko ani razu nie uzasadniłeś dlaczego lepiej. Co z tego ze gdy ustawisz na false nie pokaże się forma główna jak i tak musisz pokazać okno aktywacji więc na jedno wychodzi... no ale niektórzy tutaj widocznie mają jakieś kompleksy i próbują być lepsi krytykując dobre rozwiązanie.

-123oho napisał(a):

No ale według niektórych lepiej rozwiązać problem za innych. Cóż, jak zwykle, nie jest to na złość mi, tylko pytaczom.

No wiec skoro nie tobie na złość to co się wtrącasz?

1
kAzek napisał(a):
-123oho napisał(a):

Lepiej użyć LCLowego rozwiązania showmainform.

No jasne zawsze wszystko wiesz lepiej tylko ani razu nie uzasadniłeś dlaczego lepiej. Co z tego ze gdy ustawisz na false nie pokaże się forma główna jak i tak musisz pokazać okno aktywacji więc na jedno wychodzi... no ale niektórzy tutaj widocznie mają jakieś kompleksy i próbują być lepsi krytykując dobre rozwiązanie.

-123oho napisał(a):

No ale według niektórych lepiej rozwiązać problem za innych. Cóż, jak zwykle, nie jest to na złość mi, tylko pytaczom.

No wiec skoro nie tobie na złość to co się wtrącasz?

Nie masz nic przeciwko temu że nie będę się z tobą wdawał w bezsensowną dyskusję? Dziękuję. Wszystko co miałem do powiedzenia powiedziałem, jeżeli tobie nie wystarczy to bardzo mi przykro.

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