Главная страница
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-1231601420
Lukos
2009-01-10 18:30
2009.02.22
Что предпочтительнее Table1.Append или Table1.Insert ?


15-1230345805
Pavia
2008-12-27 05:43
2009.02.22
Придел производительности процессоров.


2-1231535405
Pavelkq
2009-01-10 00:10
2009.02.22
Непонятки с базой данных


3-1215403733
Spot
2008-07-07 08:08
2009.02.22
Экспорт из MySQL в Access


2-1231512945
Arinyshka
2009-01-09 17:55
2009.02.22
QReport, настройки принтера