Меню Рубрики

Cannot focus a disabled or invisible windows как исправить

Cannot focus a disabled or invisible windows как исправить

Есть процедура:
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]

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

try
Edit1.SetFocus;
except
end;

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

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


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

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

Источник

Cannot focus a disabled or invisible windows как исправить

Серия скриншотов из читального зала 5 ГПНТБ СО РАН.

При нажатии на кнопку выполнить в окне групповой выдачи сначала появляется сообщение «Cannot focus a disabled or invisible window» (ошибка?), а затем окно с бегущим ирбисом.
При этом в окне групповой выдачи — промежуточная ситуация: некоторые ячейки не содержат текста вообще (ошибка?). После нажатия кнопки OK в окне сообщения «Cannot focus. » — нормальная ситуация: в столбце «Выполнение» для всех строк — «Выполнено».

АРМ Книговыдача версии 2010.1 (ГПНТБ СО РАН), исполняемый файл cirbisb_new_unicode.exe от 25.01.2010 г.

У меня подобная ситуация тоже возникла, повторялась регулярно. Но, к сожалению, причин не знаю. Помогла переустановка клиента. Насколько я знаю, у других сотрудников библиотеки подобного не наблюдается (по крайней мере, не обращались).
Все книги при этом выдавались, хотя начиная с четвертой записи в окне заказа групповой книговыдачи шли пустые строки. При возврате ошибок не было.

Taisia написал(а):
——————————————————-
> У меня подобная ситуация тоже возникла,
> повторялась регулярно. Но, к сожалению, причин не
> знаю. Помогла переустановка клиента.
При чем тут переустановка клиента — если EXE-файл тот же самый, то что же меняется? Если это действительно помогло, то дело в секции [DESKTOP]
cirbisb.ini, т.е. не надо было ничего переустанавливать, а надо было просто удалить все секцию [DESKTOP]

Насколько я
> знаю, у других сотрудников библиотеки подобного не
> наблюдается (по крайней мере, не обращались).
> Все книги при этом выдавались, хотя начиная с
> четвертой записи в окне заказа групповой
> книговыдачи шли пустые строки.
.

Alio написал(а):
——————————————————-
> Эта ситуация повторяется? Если да — пришлите мне
> исходные данные (заказы и соответствующие
> документы ЭК) для ее воспроизведения.

Уважаемые коллеги, сегодня ситуацию удалось повторить.

Проблема проявилась при изменении сортировки в окне групповой выдачи.

Документы баз данных и описание тестов находятся во вложенном файле.

Источник

Cannot focus a disabled or invisible windows как исправить

Есть процедура:
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]

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

try
Edit1.SetFocus;
except
end;

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

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


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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Cannot find 800x600x32 video mode gta san andreas как исправить windows 10
  • Cannot create windows service for mysql error 0 что делать
  • Can t open acpi atk0100 kernel mode driver windows 7
  • Cambridge silicon radio ltd драйвер для блютуз для windows 7
  • Call of juarez bound in blood не запускается windows 7