![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формы
Hitkliff © (2006-04-27 17:14:00)Вопрос может показаться глупым! но всетаки как поменять порядок загрузки форм! Чтобы вначале загружалась не первая форма а например 5-ая??? Знаю можно так сделать, но вот не знаю как!
Юрий Зотов (2006-04-28 07:52:00) [1]> ЮЮ © (28.04.06 03:22) [5]
> Первая созданная форма является главной формой приложения
Неточно. Главной формой приложения является первая созданная форма, у которой владелец - Application.
> Hitkliff
Создайте в новом проекте 2 формы. Первую (Unit1, TForm1) - пустую, а на вторую (Unit2, TForm2) положите кнопки "OK" (Button1) и "Отмена" (Button2). В Инспекторе Объектов установите этим кнопкам в свойстве ModalResult значения mrOK (для Button1) и mrCancel (для Button2). В меню Delphi откройте диалог опций проекта (Project | Options), в нем на вкладке Forms переместите Form2 из левого окошка в правое и нажмите OK. В модуле Unit2 удалите 2 строки c объявлением переменной Form2. Сохраните проект.
Теперь подготовительные работы закончены и можно приступать к созданию формы, которая будет загружаться первой, но не будет главной. Откройте код проекта (Project | View Source) и руками поправьте его. Он должен стать таким:
program Project1;
uses
Controls,
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
with TForm2.Create(nil) do
if ShowModal = mrOK then
begin
Free;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run
end
else
Free
end.
Все, программу можно запускать. При этом первой появится форма TForm2 (например, она может служить диалогом для ввода пароля), но главной она не будет. Если в ней нажимаем кнопку "OK", то появляется главная форма (TForm1) и далее программа работает как обычно. А если нажимаем кнопку "Отмена", то программа просто завершается, не создавая никакой главной формы совсем. И в любом случае форма TForm2 уничтожается, освобождая занятые ею системные ресурсы.
Думкин (2006-04-28 07:24:00) [2]Если телепатировать и получить телепатему, что показать лучше сразу 5-ю, а не первую, которая главная, то можно поиграть со свойством показа MainForm.
При этом видимо имеется в виду прямой ход - когда все формы создаются сразу в *.dpr
При этом надо обеспечить показ той самой пятой при Application.Run() или в еще где...и подумать о том как будем заканчивать приложение.
balepa (2006-04-28 07:00:00) [3]Hitkliff купи уже книжку по дельфи хоть где учат за 21 секунду и много подобных вопросов отпадет.
ЮЮ (2006-04-28 03:22:00) [4]
> не первая форма а например 5-ая
Пересчитай из с другой стороны и 5-ая станет первой.
В приложении может быть только одна главная форма. Её закрытие означает закрытие приложения. Первая созданная форма я вляется главной формой приложения (см. Project Source). Для недостаточно опытных персон лучше не править сам код проекта, у установить главную форму с помощью Дельфи: закладка Project>Optioms>Forms
Vlad (2006-04-27 18:12:00) [5]
> Hitkliff © (27.04.06 17:19) [2]
> всмысле?
.dpr
sicilla (2006-04-27 18:03:00) [6]Открой project option в меню, тама выбери основную форму.
Hitkliff (2006-04-27 17:19:00) [7]всмысле?
Плохиш (2006-04-27 17:18:00) [8]Файл проекта открой и посмотри.