Главная страница
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.054 c
14-1100344529
VID
2004-11-13 14:15
2004.12.12
Как сделать так...


3-1100200640
GL00m
2004-11-11 22:17
2004.12.12
что делать с файлами _qsq*.db


3-1100253177
Дырчик
2004-11-12 12:52
2004.12.12
Отображение поля в DBGride


1-1101544263
Александр В.
2004-11-27 11:31
2004.12.12
Сохранение позиции TTreeView после обновления


3-1100348476
Jiurasd
2004-11-13 15:21
2004.12.12
Не могу изменить таблицу базы данных