Problem z zamknięciem Formy

0

Witam!

ustawiłem Form1.FormStyle:= fsMDIForm;
ustawiłem Form2.FormStyle:= fsMDIChild;
ustawiłem Form3.FormStyle:= fsMDIChild;
ustawiłem Form4.FormStyle:= fsMDIChild;

a tak otwieram Form4 z Form2

    IF not Assigned(Form4) then Form4:=TForm4.Create(Form2);
    Form4.Show;
    Form4.WindowState := wsMaximized;

Ale niewiem jak ją zamknąc. Zamiast zamykać się X to się minimalizuje i zostaje w tle na Form1.

Form4.close; daje błąd
Form4.Deactivate; minimalizuje
Form4.Free; zamyka ale przy następnym otwarciu następuje błąd

Jak zamknąć formę aby dała się ponownie otworzyć.

0

form4.free zwalnia ja z pamieci, czyli usuwa.
jesli chcesz uzywac dalej to musisz ja stworzyc na nowo (dynamika).

do zamkniecia:
w onclose form4 dajesz:
[code]action:=cafree;[/code]

0

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

Dałem tak ale nie działa

0

może tak zadziala:
procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Form4.Free;
end;

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