Можно ли динамически менять какая форма считается главной во время работы программы?

Можно, но только во время загрузки приложения. Чтобы сделать это выберите "View->Project Source" и измените код инициализации приложения, так что порядок создания форм зависил от какого-то условия.
Примечание: Вам придется редактировать этот код, если Вы добавите в приложение новые формы.

begin
        Application.Initialize;
        if <какое-то условие> then 
                begin
                        Application.CreateForm(TForm1, Form1);
                        Application.CreateForm(TForm2, Form2);
                end 
        else 
                begin
                        Application.CreateForm(TForm2, Form2);
                        Application.CreateForm(TForm1, Form1);
                end;
end.
Application.Run;
 
« Предыдущая статья   Следующая статья »