Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.10.10;
Скачать: CL | DM;

Вниз

Ошибка: "Cannot change visible in OnShow or OnHide"   Найти похожие ветки 

 
И. Павел ©   (2010-07-16 11:19) [0]

Здравствуйте.

У меня в обработчике формы OnShow возникает исключение. Его никто не перехватывает, и оно достигает процедуры Application.OnException (или обработчика ApplicationEvents.OnException – что одно и то же). OnException обрабатывает ошибку а потом пытается завершить программу через Halt:

procedure TE.OnE(Sender: TObject; E: Exception);
begin
 try
 …
 except
 end;
 Halt;
end;

Но при этом генерируется ошибка: “Cannot change visible in OnShow or OnHide”. Но я ведь уже не в этих методах… Сгенерированная ошибка, видимо, отсылается в ExceptProc, показывается пользователю, и только потом программа завершается.

Подскажите, пожалуйста, как избежать такой проблемы при обработке ошибки от обработчика OnShow?

Сейчас пишу так:
procedure TE.OnE(Sender: TObject; E: Exception);
begin
 try
 …
 except
 end;
 Application.Terminate;
 Halt;
end;

Это работает (видимо, готовое завершиться, приложение не показывает ошибки).
ИМХО способ корявый. Может быть, есть лучше?

PS: может быть можно обойтись одним Application.Teminate? Как скоро он завершает программу? После его вызова из OnException может еще что-то выполниться: обработчик нажатия на кнопку, тик таймера и т.д?

Заранее спасибо.


 
И. Павел ©   (2010-07-16 11:23) [1]

А про тег "code" я и забыл... Извиняюсь.


 
И. Павел ©   (2010-07-16 13:39) [2]

Нашел решение:
ExitProcess(1);


 
12 ©   (2010-07-16 14:25) [3]

спасибо

а я как-то раз делал форму, которая первая вставала и по таймеру(или могла быть вызвана мессаджем) проверяла какая форма свое поле KillMe выставит в 1. Если форм больше не было - завершение.
но способ идиотский, потому и молчал



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

Текущий архив: 2010.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
6-1225988097
vegarulez
2008-11-06 19:14
2010.10.10
Вопрос про POST


2-1279193322
Aleks
2010-07-15 15:28
2010.10.10
Экспорт ListView в эксель


6-1226523867
cerber
2008-11-13 00:04
2010.10.10
Idhttp и загрузка динамических изображений


15-1278321632
Ega23
2010-07-05 13:20
2010.10.10
И ещё раз по поводу ТЗ


15-1278366193
AKE
2010-07-06 01:43
2010.10.10
Возможно ли написать программу для решения сложных судоку?