БОЛЬШОЙ FAQ ПО DELPHI



Условие создания главной формы

Автор: 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 форм заключено в никогда не выполнимый блок, тем самым приводя компилятор в состояние свинячего восторга.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ