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

I’m getting an error when running my compiled program. I’ve taken every precaution I can think of to prevent the error such as enabling forms before I hide or focus them. The application shows a DimmerForm (grey fade overlay) and then a NewFileForm on top of the overlay. The NewFileForm does its stuff and determines the file that is to be made and creates a new tabsheet in the page control on the MainForm and shows the newly created tab sheet. All this works so far (I can break before the NewFileForm closes and any error occurs and see that the tab sheet has been created and shown successfully). The NewFileForm then closes, which is again working fine.

The error happens when anything then tries to set the focus back to the MainForm. Hiding the DimmerForm, or clicking on the MainForm, or setting focus to the MainForm through code all cause the error message to occur. Placing the code in a {try, except, end} doesn’t prevent the error message either. I’ve searched every other method in the code that could possibly be triggered by the focusing of the MainForm and none are entered before the error occurs (so can’t be causing it).

I wrote pretty much the exact same code in a previous version of my application and then decided to restructure it all from the ground up. The previous version of the application worked without a hitch with the form focusing.

Here is the code to open up the NewFileForm:

procedure TMainForm.NewFilesToolButtonClick(Sender: TObject);
begin

  ShowDimmer;
  NewFileForm.ShowModal;
  HideDimmer;

end;

Here is the code to show the dimmer form:

procedure ShowDimmer;
begin

  // Enable to prevent errors
  DimmerForm.Enabled := true;

  // Hide dimmer form and show mainform
  DimmerForm.Show;

end;

Here is the code to hide the dimmer form:

procedure HideDimmer;
begin

  // Enable to prevent errors
  DimmerForm.Enabled := true;
  MainForm.Enabled := true;

  // Hide dimmer form and show mainform
  DimmerForm.Hide;
  MainForm.SetFocus;

end;

byblik

Сообщения: 2
Зарегистрирован: Сб окт 29, 2022 4:25 am

Ошибка Cannot focus a disabled or invisible window и белый экран

Сообщение

byblik » Сб окт 29, 2022 4:32 am

Захожу спустя долгое время в программу и получаю обновление, обновляют перезагружаю компьютер и выбивает белый экран когда на что-то нажимал вылезала ошибка ( Cannot focus a disabled or invisible window ).

У вас нет необходимых прав для просмотра вложений в этом сообщении.

byblik

Сообщения: 2
Зарегистрирован: Сб окт 29, 2022 4:25 am

rolandas

23 / 12 / 2

Регистрация: 20.04.2011

Сообщений: 382

1

08.04.2019, 22:50. Показов 13490. Ответов 6

Метки setfocus (Все метки)


Студворк — интернет-сервис помощи студентам

выбрасывает ошибку « Cannot focus a disabled or invisible window »
после только после закрывания окна ошибки ставиться правильно в Edit1
Embarcadero.

Delphi
1
2
3
4
5
6
7
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.visible := True;
Edit1.Enabled := True;
//Edit1.SetFocus;
Edit1.AutoSelect := False;
end;



1



5535 / 4320 / 1383

Регистрация: 14.04.2014

Сообщений: 19,357

Записей в блоге: 19

09.04.2019, 00:59

2

FormCreate – это форма создана, но окна на экране нет
поэтому странно переводить фокус на него

зато у формы есть свойство ActiveControl



0



23 / 12 / 2

Регистрация: 20.04.2011

Сообщений: 382

10.04.2019, 19:26

 [ТС]

3

и как мне сразу после запуска программы автоматически запихать курсор в Edit1 ??



0



231 / 163 / 54

Регистрация: 26.10.2014

Сообщений: 928

10.04.2019, 20:08

4

rolandas, у формы есть свойство ActiveControl



0



683 / 4669 / 262

Регистрация: 11.08.2016

Сообщений: 3,014

12.04.2019, 18:22

5

Событие onShow.



0



zh_ka

1 / 1 / 0

Регистрация: 02.03.2019

Сообщений: 9

12.04.2019, 19:39

6

Delphi
1
2
3
4
5
6
7
8
procedure TForm1.OnShow(Sender: TObject);
begin 
 
   Edit1.visible := True;
   Edit1.Enabled := True;
   Edit1.SetFocus;
 
end;



1



D1973

Модератор

8428 / 5619 / 2285

Регистрация: 21.01.2014

Сообщений: 24,125

Записей в блоге: 3

13.04.2019, 06:03

7

Ivandur, zh_ka, да зачем??? Ответ ведь уже был дан! Если кровь из носу надо, чтобы при старте приложения фокус находился именно в Эдит1 – все, что надо для этого:

Delphi
1
2
3
4
procedure TForm1.FormCreate(Sender: TObject);
begin
  ActiveControl := Edit1;
end;

Или еще проще, вообще без кода: в режиме проектирования формы из главного меню Edit выбрать пункт меню TabOrder и поставить требуемый компонент на первое место…



1



Что за ошибка?

Alex *****



Ученик

(101),
закрыт



8 лет назад

При запуске программы, вот такая проблема.
Ребят, подскажите пожалуйста, что за ошибка…?

Дополнен 8 лет назад

и вот еще

Bonehead

Оракул

(51339)


8 лет назад

“cannot focus a disabled or invisible windows” – “не может сосредоточиться на инвалидов или невидимые окна” “have error initializing main form Can not start application” – есть ошибка при инициализации главной формы не удается запустить приложение Что за приложение? Переустановите, при отключенном антивирусе. Скачайте заново из другого места и т. д.

FORUM_NAME: АРМ Орион Про версии 1.20 и выше
Описание: АРМ “Орион Про” — пакет программного обеспечения для аппаратно-программного комплекса ИСО “Орион”, на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии 1.20 и выше
Модератор: Модераторы

BlackCat
Автор темы
BlackCat
Автор темы
Репутация: 0
Сообщения: 1
Зарегистрирован: 28.01.2022
С нами: 1 год 3 месяца
Профессия: инженер

В Мониторе ОЗ постоянно выскакивает ошибка: Application error: Cannot focus a disabled or invisible window

Куда копать ?


Vse
Активный участник
Активный участник
Vse
Активный участник
Активный участник
Репутация: 36
Сообщения: 915
Зарегистрирован: 10.07.2013
С нами: 9 лет 10 месяцев
Профессия: всё и сразу

Непрочитанное сообщение #2 Vse » 08.02.2022, 15:19

BlackCat, антивирусное программное обеспечение установлено? Модули ПО АРМ”ОрионПро” добавить в исключения. Желательно посмотреть журналы событий операционной системы.



  • 3
    1437

    DmitryK
    Перейти к последнему сообщению
    26.12.2019, 13:52
  • 5
    619

    DiGreez
    Перейти к последнему сообщению
    18.02.2022, 14:49
  • 2
    5351

    yurbaj
    Перейти к последнему сообщению
    24.01.2022, 08:26
  • 6
    1054

    DruG
    Перейти к последнему сообщению
    17.07.2020, 07:04
  • 2
    1062

    slipmann
    Перейти к последнему сообщению
    18.11.2019, 14:26
  • 7
    17330

    MDoc
    Перейти к последнему сообщению
    29.12.2018, 08:28
  • 4
    995

    Vlad_ru
    Перейти к последнему сообщению
    28.12.2020, 17:34
  • 1
    1076

    DruG
    Перейти к последнему сообщению
    24.12.2019, 21:03
  • 4
    3152

    Dmitriy1911
    Перейти к последнему сообщению
    08.07.2018, 16:23
  • 10
    2089

    dima-r-88
    Перейти к последнему сообщению
    18.01.2020, 21:08

Вернуться в «АРМ Орион Про версии 1.20 и выше»

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