Форум: "Основная";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];
ВнизОшибка: 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c