// Функция WinMain, файл ИМЯ_ПРОЕКТА.cpp
try
{
Application->Initialize();
Application->ShowMainForm = false;
Application->CreateForm(__classid(TForm1), &Form1);
Application->CreateForm(__classid(TForm1), &Form2);
if (Form1->Показать_Меня_Сейчас())
Form1->Show();
else
Form2->Show();
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
SplashScreen в зависимости от результата функции
Как такое реализовать?
у меня есть программа. При запуске прогаммы она проверяет, скажем, текущую дату, и в зависимости от даты показывают ту или иную форму... так кот - как мне лучше реализовать такую вещь, ведь есть:
1. Сначала покажется, или хотя бы мелькнет, главна форма (основная), прежде чем покажется та, которая мне нужна
2. При закрытии не главной формы могут возникать проблемы с закрытием приложения... т.е. я хочу, чтобы при закрытии не главной формы закрывалось приложение... а бывает так, что в некоторых лучаях не помогает OnClose или OnHide, т.е. при закрытии формы приложение висит в таск баре и не закрывается...
как мне поступить в данном случае... или случаях?
Цитата:
При запуске прогаммы она проверяет, скажем, текущую дату, и в зависимости от даты показывают ту или иную форму
Код:
Цитата:
При закрытии не главной формы могут возникать проблемы с закрытием приложения... т.е. я хочу, чтобы при закрытии не главной формы закрывалось приложение...
Код:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
Application->Terminate(); // Функция прекращения работы
// глобального объекта "Приложение"
}
{
Application->Terminate(); // Функция прекращения работы
// глобального объекта "Приложение"
}
Про второе... я так делаю, но бывают иногда такие случаи, например, программа просто повисла при выполнении какой-то операции, и я ее хочу закрыть.. При закрытии не главной формы, приложение в таких слчаях может не закрыться, т.. форма исчезнет, а вот программа так и будет сидеть в таскбаре и процессах :)
Добавлено:
1. Можно ли вызывать функцию не из юнита, в котором есть форма, а из безформенного юнита?
2. Можно ли в Application.h (где указаны все формы и осуществляется запуск) назначать переменные, например, мне необходимо получить результаты функций, находящихся в пяти формах, и на основе "среднего" числа показать определенную форму (SplashScreen)?
Цитата:
Можно ли в Application.h...
Где-где? Это что за файл такой?
Вышеперечисленные действия можно делать в файле Имя_Проекта.cpp - h-файл для него в проекте отсутствует.
В общем, есть функция WinMain, которая вызывается один раз и запускает объект Application. Внутри неё (до и после команды Application->Run) можно объявлять и использовать что угодно.
P.S.
А первого вопроса вообще не понял....
то есть можно работать с переменными и с вычислениями не только на форме, но и в юните приложения?
А если очень много - тогда уже отдельный класс создать. Кстати, этот класс можно использовать для перехвата событий "приложения".
Хотя самое главное в программировании - не усложнять себе жизнь
а модуль должен быть с формой? а если без формы создать, то как вызывать функции?
Просто модуль. Через главное меню [File -> New -> Unit] в программу добавляется модуль состоящий из .cpp и .h файла. Соответственно, потом h-файл подключается к главному модулю проекта через #include