Существует ли в Delphi возможность создавать главную форму по условию? Я хочу использовать условие IF (в зависимости от передаваемого параметра) для того, чтобы определить какая форма будет главной при старте приложения. Фактически "другую" форму НЕ нужно будет загружать.
Хитрость здесь заключается в том, что мы предоставляем компилятору весь необходимый для создания форм код, но не допускаем его выполнения (IF FALSE THEN), при этом компилятор не ругается, а мы тем временем (во время выполнения приложения) выбираем и создаем главную форму. Вот пример кода, измененный .DPR-файл, который при старте случайным образом выбирает из друх форм главную:
Code: |
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 форм заключено в никогда не выполнимый блок, тем самым приводя компилятор в состояние свинячего восторга.
Новые статьи
Ранние статьи
- Необходимо, чтобы дочерняя форма не активизировала родительское окно
- В каком порядке происходят события при создании и показе окна?
- Можно ли создать форму, которая получает дополнительные параметры в методе Сreate?
- Как сделать окно системно-модальным?
- Можно ли динамически менять какая форма считается главной в приложении во время работы программы?
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!