Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизСоздание глобальной переменной Application Найти похожие ветки
← →
Rem © (2004-11-29 17:51) [0]
program Project1;
uses
Forms,
Unit1 in "Unit1.pas" {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Всем знакомый код. А где происходит создание глобального экземпляра класса Application: TApplication?
Конкретно: как инициализировать переменную Application экземпляром своего класса, порожденного от TApplication?
Еще конкретнее: хочу переопределить конструктор TApplication, чтобы при старте выполнялись нужные действия; а также добавить некоторые методы, интерфейсы и пр.
← →
MBo © (2004-11-29 18:01) [1]Controls
InitControls
← →
Rem © (2004-11-29 18:13) [2]2 MBo
Спасибо.
То-есть, насколько я понял, при подсоединении модуля Controls будет автоматически создан Application - экземпляр класса TApplication, ибо это реализовано в секции initialization.
Как же, все же "подсунуть" свой класс?
Ибо писать нечто на подобие:begin
Application.Free; // возможно, как-то по-другому...
Application := TMyApplication.Create(nil);
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
не есть хорошо...
← →
Rem © (2004-11-29 19:04) [3]Up
← →
Юрий Зотов © (2004-11-29 19:08) [4]> Rem © (29.11.04 18:13) [2]
Почему "не есть хорошо"? Нормальное решение.
← →
VMcL © (2004-11-29 19:08) [5]>>Rem © (29.11.04 18:13) [2]
>не есть хорошо...
А чего тут нехорошего. Нормальный код. Только я бы написал:FreeAndNil(Application);
Application := TMyApplication.Create(nil);
Так, на всякий случай. А то случаи, они разные бывают...
← →
jack128 © (2004-11-29 19:10) [6]Rem © (29.11.04 18:13) [2]
можно и так. Естественно все настройки приложения сделаные в секции initialization всех юнитов пропадут, ну да и фиг с ними.
Вопрос в другом, ты можешь объяснить зачем тебе это нужно??
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c