Forma i zawieszanie się systemu

0

Mam taki dziwny problem którego nie rozumiem i mam nadzieję że ktoś mi wytłumaczy.
Otóż mam sobie programik który działa i chcę go zakończyć klikając X w rogu okna :) No i w tym momencie system się wiesza i to tak że działa tylko reset na obudowie. Za każdym razem. Próbowałem różnych rzeczy i w końcu odkryłem że nie wiesza się gdy dodam zdarzenie

procedure TForm1.FormDestroy(Sender: TObject);
begin
Application.Terminate;
end;

To jest jedyna rzecz jaką znalazłem która naprawiła problem. No i teraz o co tu chodzi? Teoretycznie już samo zamknięcie formy powinno wywołać Application.Terminate więc dlaczego muszę dodać to zdarzenie w FormDestroy? :-| Będę wdzięczny za podsunięcie rozwiązania które pewnie jest banalne :-)

0

Napisz coś więcej o programie - czy używa wątków, z jakich mechanizmów systemowych korzysta itp.

0

Tak, używa wątków. To jest symulacja jadących pociągów - każdy pociąg jest wątkiem który wypisuje w StringGridzie na jakiej aktualnie jest stacji albo na jaki tor wjechał itp.
Synchronizacja zajmowania torów za pomocą TCriticalSection.

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