Вниз
Скачать: CL | DM;

Как закрыть главную форму?   Найти похожие ветки 

← →
Igor_ ©   (2002-02-28 10:16) [0]

Запускается таймер и при достижении определенного значения надо закрыть все приложение. Таймер находится в DataModule, главная форма - MDI (если это имеет значение). Код такой:

procedure TDM.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=Timer1.Tag-1;
if (Timer1.Tag <= 0)then
begin
FormMain.Close;
exit;
end;
end;

При пошаговой отладке событие FormMain onClose вызывается, после этого попадаем в TDM.Timer1Timer на строку где exit, выходим из TDM.Timer1Timer - потом ошибка Exeption EOSError in module...
System Error Code 87.

Как привильно закрыть программу?


← →
Fellomena   (2002-02-28 10:31) [1]

SendMessage(Application.MainForm, WM_CLOSE, 0, 0);


← →
Юрий Зотов ©   (2002-02-28 11:15) [2]

Application.MainForm.Close


← →
RoadStar ©   (2002-02-28 13:14) [3]

Halt;
Киляет все нафиг!!!


← →
alexanderK   (2002-02-28 14:12) [4]

Application->Terminate(); // C++Builder


← →
Sasha9 ©   (2002-02-28 14:17) [5]

2alexanderK
не только C++Builder


← →
Набережных С.   (2002-02-28 16:15) [6]

PostMessage(FormMain.Handle,WM_CLOSE,0,0);


← →
Sava ©   (2002-02-28 16:37) [7]

чуть пишется в Дельфх подругому:
Application.Terminate
А вот сообщение послать это оригинально.


← →
Vov ©   (2002-02-28 18:32) [8]

Иногда при посылке сообщений самой форме могут быть проблемы, самый надежный способ, как выяснилось путем проб и т.д., нарисовать на форме кнопку закрывающую форму, сделать ее невидимой а потом посылать ей два подряд сообщения:
SendMessage( кнопка.Handle, WM_LBUTTONDOWN , 0, 0 );
SendMessage( кнопка.Handle, WM_LBUTTONUP , 0, 0 );
работает даже при onActivate %)


← →
Юрий Зотов ©   (2002-02-28 19:28) [9]

> Vov © (28.02.02 18:32)

Круто. Но вот простые три слова - Application.MainForm.Close полностью заменяют всю эту громадину. Вместе с никому не нужной лишней кнопкой. Или уж тогда так - Кнопка.Click.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
1-43063
Юля_Орлова
2002-02-26 14:37
2002.03.14
Как написать функцию, возвращающую 3 значения?


7-43207
Maxik aka Musicmax
2001-12-10 21:56
2002.03.14
В 98, 95 винде есть mpr.dll к которой можно обратиться функцией WNetEnumCachedPasswords, если знаете подскажите есть ли аналогичные длл в WinXP, Win2000, и если есть то как называются и какими функциями к ним обратиться!


1-43111
DDDeN
2002-02-28 12:06
2002.03.14
Внутренние программы


3-42911
Destroyer
2002-02-14 08:08
2002.03.14
DBGrid и транзакции


3-42977
AndrewK
2002-02-15 14:20
2002.03.14
Как составить SQL запрос




   Наверх