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

Вниз

Ошибка: Cannot focus a disabled or invisible window   Найти похожие ветки 

 
Kventin   (2003-01-25 15:38) [0]

Есть процедура:
procedure Myform1.BtClick(...;
begin
...
MyForm2.show;
...
Myform2.hide; //после етого появляєтся ошибка
// Cannot focus a disabled or invisible window
...
end;
ПОчему ета ошибка появляэтся? Кто нибудь знает?
Я пробовал перед Myform2.hide; писать
Myform1.BringToFront;
Myform1.show;
Myform1.Visible:=true;
ничего не помагаэт


 
harismatik   (2003-01-25 15:40) [1]

А у тебя форма с которой вызывается окно видимо и доступно? Откуда ты его вызываешь?


 
Kventin   (2003-01-25 15:43) [2]

Да.
Вызываю из обработчика клика по некоторой кнопке.


 
Юрий Зотов ©   (2003-01-25 17:42) [3]

После Myform2.hide происходит какое-то обращение к Myform2 (или к одному из ее контролов), которое требует, чтобы Myform2 была видимой. Myform1 здесь ни при чем.

Пройдите отладчиком и найдите ТОЧНОЕ место.


 
Stager ©   (2003-01-25 19:33) [4]

2 Kventin

Абсолютно согласен с Юрием. От себя добавлю, что эта ошибка часто бывает, когда выполняется метод SetFocus. Чтобы не заниматься развернутой интеллектуальной обработкой, я обычно пользуюсь конструкцией:

try
Edit1.SetFocus;
except
end;


C уважением, Алексей.



 
Юрий Зотов ©   (2003-01-25 20:16) [5]

Можно и проще - Windows.SetFocus(Edit1.Handle). При этом, если Edit1 не может получить фокус, то ничего не происходит, но и Exception не возникает. Значит try-except не нужны, а в итоге экономится машинный код (поскольку любой блок try - это немалые накладные расходы).


 
Stager ©   (2003-01-25 20:41) [6]

2 Юрий Зотов.
Понял, спасибо, буду использовать.

С уважением, Алексей.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
7-5290
Newe
2002-11-21 15:24
2003.02.03
Как программно узнать когда юзер вставит в дисковод дискету?


3-4750
_Bogdan_
2003-01-14 01:41
2003.02.03
DBChart


1-5044
Azim
2003-01-24 10:35
2003.02.03
DBGrid


7-5292
Vredina
2002-11-22 19:13
2003.02.03
Трэй


7-5294
Soft
2002-11-22 19:19
2003.02.03
Изменение приоритета в Win2K