Условие создания главной формы
Автор: Neil Rubenking
Существует ли в Delphi возможность создавать главную форму по
условию? Я хочу использовать условие IF (в зависимости от передаваемого
параметра) для того, чтобы определить какая форма будет главной при старте
приложения. Фактически "другую" форму НЕ нужно будет загружать.
Хитрость здесь заключается в том, что мы предоставляем компилятору весь
необходимый для создания форм код, но не допускаем его выполнения (IF FALSE
THEN), при этом компилятор не ругается, а мы тем временем (во время выполнения
приложения) выбираем и создаем главную форму. Вот пример кода, измененный
.DPR-файл, который при старте случайным образом выбирает из друх форм
главную:
begin
if FALSE then
begin
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
end;
Randomize;
if Random < 0.5 then
Application.CreateForm(TForm1, Form1)
else
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
|
Пара "подходящих" для CreateForm форм заключено в никогда не выполнимый блок,
тем самым приводя компилятор в состояние свинячего восторга.
|