Главная страница
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.014 c
4-1205732698
vi_RUS
2008-03-17 08:44
2009.02.22
Как вместо одного клика мыши генерить шесть?


2-1231671849
Ruzzz
2009-01-11 14:04
2009.02.22
поддержка плагинов в программе


15-1229590972
cvg
2008-12-18 12:02
2009.02.22
Где найти dbexpmysql.dll для MySQL 4.1?


15-1230323029
Kerk
2008-12-26 23:23
2009.02.22
Отмечание нового года


2-1231486350
_N_
2009-01-09 10:32
2009.02.22
Как узнать об изменении положения курсора в TListView?