[Delphi] Forma dziecka

0

Uruchamiam formularz, który FormStyle ma ustawione na fsNormal jest to formularz logowania. Po poprawnym zalogowaniu uruchamiana jest aplikacja mdi (formularz mdiForma, który FormStyle ma ustawione na fsMDIForm) w ten sposób:

fmLogowanie.Hide; //ukrywa formularz Logowania
mdiForma.Show; //forma rodzica

Z menu formy rodzica wybieram polecenie otwórz formularz fmObrazy (formularz fmObrazy FormStyle ma ustawione na fsMDIChild), za pomocą polecenia

fmObrazy:=TfmObrazy.Create(mdiForma);

No i formularz Obrazy się nie otwiera. Jest wyświetlany błąd :/
Cannot create form. No MDI Forms are currently active.

Co robię źle?

W opcjach projektu formularze fmLogowanie i mdiForma są w Auto-create forms a fmObrazy w Available forms.

Póki nie dodałem formularza logowania wszystko chodziło bez problemu.

Za cenne uwagi dziękuję

0

Musi istnieć główne okno (Visible:=True), do którego MdiChild sie przyczepi:-)

0

No i mam co chciałem :)
Do formy rodzica dodałem w procedurze OnCreate

 procedure TmdiForma.FormCreate(Sender: TObject);
begin
  fmLogowanie:=TfmLogowanie.Create(nil);
  fmLogowanie.ShowModal;
end;

W formie fmLogowanie właściwość Visible musi być ustawiona na Flse.

No i jeszcze w Project options jako Main form należy ustawić mdiForma.

A w związku z powyższym to jest już nie potrzebne:

Kod:
fmLogowanie.Hide; //ukrywa formularz Logowania
mdiForma.Show; //forma rodzica

To wszystko jest zrobione na takiej zasadzie jak robi się splash screen.

Pozdrowionka ;)

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