Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.22;
Скачать: CL | DM;

Вниз

Главная форма   Найти похожие ветки 

 
VolMyr   (2009-01-05 04:07) [0]

Здравствуйте. Как изменить програмно главную форму? Например,  Form1 - главная, а при виполнение програмы главная стала Form2.


 
KilkennyCat ©   (2009-01-05 05:49) [1]

Я тут же отвечу, как только ошибок станет не более одной. Это я про русский язык.


 
YurikGL ©   (2009-01-05 07:03) [2]

А что, по твоему, есть главная форма?


 
MsGuns ©   (2009-01-05 11:17) [3]

Что-то подсказывает мне, что автору нужна сплэш-форма


 
Sergey13 ©   (2009-01-05 11:20) [4]

> [3] MsGuns ©   (05.01.09 11:17)

Хорошо такого подсказчика иметь. 8-)

> [0] VolMyr   (05.01.09 04:07)

Не надо играться с главностью форм. Надо в файле проекта создать и показать ДРУГУЮ форму раньше главной.


 
Сергей М. ©   (2009-01-05 14:26) [5]


> Как изменить програмно главную форму?


В VCL-приложении - никак.


 
icWasya ©   (2009-01-05 15:49) [6]


 FormInit:=TFormInit.Create(nil);
 FormInit.Show;
 FormInit.Update;

 Application.CreateForm(TMainForm, MainForm);
 MainForm.Update;

 FormInit.Free;

 Application.Run;


 
123-ий ©   (2009-01-06 15:03) [7]

Project -> Options. Выбери главную форму. В рантайме делать такие вещи - зло.


 
KilkennyCat ©   (2009-01-06 15:23) [8]


> В рантайме делать такие вещи - зло.

Почему?
Я делаю постоянно. Зла не ощущаю.


 
123-ий ©   (2009-01-06 15:42) [9]


> Почему?

а смысл какой???


 
Юрий Зотов ©   (2009-01-06 16:39) [10]

Сменить можно примерно так:

var
 MainFormAddress: ^TForm;
 OldMainForm, NewMainForm: TForm;
begin
 MainFormAddress := @Application.MainForm; // Адрес поля Application
 OldMainForm := MainFormAddress^;
 NewMainForm := TNewMainForm.Create(Application);
 MainFormAddress^ := NewMainForm; // Вуаля!
 OldMainForm.Free;

Но прежде, чем пользоваться такими полухакерскими приемами, сначала нужно очень хорошо подумать - а оно действительно необходимо? Нельзя ли решить задачу нормальными средствами?


 
KilkennyCat ©   (2009-01-06 17:42) [11]


> 123-ий ©   (06.01.09 15:42) [9]

Отсутствие смысла не есть зло. Ибо кому - отсутствие, а кому - смысл.


> Юрий Зотов ©
> Нельзя ли решить задачу нормальными средствами?


Конечно можно. Можно осуществить перезапуск приложения с параметром, но проще всего скрыть единственную главную форму нафиг и играться видимостью дочерних.


 
123-ий ©   (2009-01-08 06:25) [12]


> но проще всего скрыть единственную главную форму нафиг и
> играться видимостью дочерних.

вот то-то и оно :)


 
Юрий Зотов ©   (2009-01-08 18:45) [13]

> KilkennyCat ©   (06.01.09 17:42) [11]

> Конечно можно.

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

Всякое бывает...


 
Игорь Шевченко ©   (2009-01-10 01:37) [14]

"Корректно оформляйте заголовок ветки, который должен кратко отражать суть вопроса"



Страницы: 1 вся ветка

Текущий архив: 2009.02.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
2-1231875392
smartleds
2009-01-13 22:36
2009.02.22
Вопрос по созданию формы


15-1226314250
Xenus
2008-11-10 13:50
2009.02.22
Теневое копирование


2-1231861783
RUBEY
2009-01-13 18:49
2009.02.22
Исчезающая форма


15-1230322349
Ferbuss
2008-12-26 23:12
2009.02.22
Где ошибка?


4-1203884779
art36
2008-02-24 23:26
2009.02.22
устройство веб камеры + видео поток + delphi