Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
3-42927
Sergant
2002-02-14 15:14
2002.03.14
Выравнивание столбцов по ширине


7-43190
Потерянный
2001-12-03 11:24
2002.03.14
Выключение компьютера


3-42968
Havez
2002-02-16 16:28
2002.03.14
Передача данных между БД


3-42949
Baks
2002-01-21 21:15
2002.03.14
ошибка: Тable lavel changed


1-43015
vbazik
2002-02-26 00:56
2002.03.14
Создание компонент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский