[PR] Przejście do innej procedury

0

Kruca fuks :-(

Wygenerowałem sobie proceudre OnClose formy, wygląda ona tak:

Procedure Tform1.FormClose(Sender: TObject; var Action: TCloseAction);
Begin
 //jakieś tam rzeczy
End;

i chciałbym w innej procedurze przejść do tej wyżej napisanej procedury, tylko jak [???] daje FormClose(nil); to mi nie działa :-(

0

Bo przecież ta procka ma więcej niż jeden parametr:

var
  CA: TCloseAction;
begin
  CA := caFree;
  FormClose(nil, CA);

[dopisane]
Oczywiście wywołaniem tej procki nie zamkniesz formy, jedynie wykonasz zawarte w niej instrukcje.

0

To zalezy czy chodzi ci o przejście do procedury zamykajacej wywoływanej przy zamknięciu programu (wtedy po prosty wywołyjesz Close) czy chcesz tylko wykonać kod który zawiera ta procedura bez zamykania programu. W drugim przypadku najlepiej będzie zrobić tak:

procedure ProgClose;
begin
//jakieś tam rzeczy
end;

procedure Tform1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ProgClose;
end;

W procedurze ProgClose masz to co miałes wcześniej w FormClose i wywołujesz sobie ten kod z tej procedury.

[dopisane]
W zasadzie tak jak MatroX też może być (tyle ze troche więcej kodu). W sumie nie wiem czy to coś zmieni, ale dałbym nie caFree ale caNone.

0

Dzięki MatroX, zrobiłem tak jak napisałeś. Ciebie Dominik też dziekuje za fatyge :-P

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