Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

Создание глобальной переменной 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-1100430358
M. Saratoff
2004-11-14 14:05
2004.12.12
Реализация операции пересечения


14-1100879277
icebeerg
2004-11-19 18:47
2004.12.12
Поределение точки пересечения прямых


1-1101481661
TButton
2004-11-26 18:07
2004.12.12
редактирование файлов реестра


4-1099128378
Кириешки
2004-10-30 13:26
2004.12.12
Как определить есть ли диск в приводе?


14-1100855016
Ilya___
2004-11-19 12:03
2004.12.12
Подскажите пожалуйста. правильно ли я делаю?