Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Главная форма сворачивается сама по себе

8.2K
14 мая 2005 года
Roo
13 / / 04.05.2005
Проблема такова. У меня при запуске программы до показа главной формы сразу запускается диалог открытия файла. Если все окна в системе в это время свёрнуты, то всё нормально показывается. Если же хоть одно любое окно развёрнуто, то главная форма активируется как свёрнутая. В чём может быть проблема?
10
14 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Roo
У меня при запуске программы до показа главной формы сразу запускается диалог открытия файла.


Главной формой во время выполнения программы на самом деле является этот самый диалог - можешь проверить.

Для решения проблемы создавать диалог не вызовом Application.CreateForm, а TMyDialog.Create(nil) или TMyDialog.Create(Application).

Application.CreateForm никакой полезной функциональности не несет, кроме установки главной формы приложения.

8.2K
15 мая 2005 года
Roo
13 / / 04.05.2005
Цитата:
Originally posted by Freeman
Главной формой во время выполнения программы на самом деле является этот самый диалог - можешь проверить.

Для решения проблемы создавать диалог не вызовом Application.CreateForm, а TMyDialog.Create(nil) или TMyDialog.Create(Application).

Application.CreateForm никакой полезной функциональности не несет, кроме установки главной формы приложения.


Не совсем понял. Я не создаю диалог программно. Он лежит на главной форме и я его вызываю из процедуры FormCreate главной формы. Т.е. после загрузки файла процедура FormCreate продолжает работать. Но...

10
15 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Roo
Не совсем понял. Я не создаю диалог программно. Он лежит на главной форме и я его вызываю из процедуры FormCreate главной формы. Т.е. после загрузки файла процедура FormCreate продолжает работать. Но...


Если ты про стандартный диалог, вроде TOpenDialog, то происходит примерно следующее: перед вызовом TOpenDialog.Execute VCL "пытается привести формы в порядок", т. е. установить правильный z-order, блокировки, и т. п. Забыл, как метод называется. Кажется RestoreWindowTopmosts в TApplication.

У тебя же вызов данного метода происходит в тот момент, когда форма еще не до конца создана, вот и получается косяк. Надо или сразу создавать форму видимой (кажется, MainFormVisible у TApplication - в хелп лезть неохота), или вызывать диалог открытия файла на какое-то другое событие.

302
17 мая 2005 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by Freeman
или вызывать диалог открытия файла на какое-то другое событие.


ПОдходящим событием будет OnActivate, только надо завести какой-нибудь флажок, чтобы показывать диалог один раз.

8.2K
17 мая 2005 года
Roo
13 / / 04.05.2005
[SIZE=3][COLOR=crimson][FONT=courier new]Большое всем СПАСИБО за то, что "разжевали"!!! Очень мне помогли =)))[/FONT] [/COLOR][/SIZE]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог