Главная форма сворачивается сама по себе
У меня при запуске программы до показа главной формы сразу запускается диалог открытия файла.
Главной формой во время выполнения программы на самом деле является этот самый диалог - можешь проверить.
Для решения проблемы создавать диалог не вызовом Application.CreateForm, а TMyDialog.Create(nil) или TMyDialog.Create(Application).
Application.CreateForm никакой полезной функциональности не несет, кроме установки главной формы приложения.
Главной формой во время выполнения программы на самом деле является этот самый диалог - можешь проверить.
Для решения проблемы создавать диалог не вызовом Application.CreateForm, а TMyDialog.Create(nil) или TMyDialog.Create(Application).
Application.CreateForm никакой полезной функциональности не несет, кроме установки главной формы приложения.
Не совсем понял. Я не создаю диалог программно. Он лежит на главной форме и я его вызываю из процедуры FormCreate главной формы. Т.е. после загрузки файла процедура FormCreate продолжает работать. Но...
Не совсем понял. Я не создаю диалог программно. Он лежит на главной форме и я его вызываю из процедуры FormCreate главной формы. Т.е. после загрузки файла процедура FormCreate продолжает работать. Но...
Если ты про стандартный диалог, вроде TOpenDialog, то происходит примерно следующее: перед вызовом TOpenDialog.Execute VCL "пытается привести формы в порядок", т. е. установить правильный z-order, блокировки, и т. п. Забыл, как метод называется. Кажется RestoreWindowTopmosts в TApplication.
У тебя же вызов данного метода происходит в тот момент, когда форма еще не до конца создана, вот и получается косяк. Надо или сразу создавать форму видимой (кажется, MainFormVisible у TApplication - в хелп лезть неохота), или вызывать диалог открытия файла на какое-то другое событие.
или вызывать диалог открытия файла на какое-то другое событие.
ПОдходящим событием будет OnActivate, только надо завести какой-нибудь флажок, чтобы показывать диалог один раз.