Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
3-1099469147
Sergy Ivanec
2004-11-03 11:05
2004.12.12
Interbase, проблема с большим числом записей


1-1101692605
che
2004-11-29 04:43
2004.12.12
Создание нескольких текстовых файлов


6-1087306299
Григорьев Антон
2004-06-15 17:31
2004.12.12
Прошу оценить статью про сокеты


1-1101733181
denis24
2004-11-29 15:59
2004.12.12
wordApplication


1-1101809890
lovres
2004-11-30 13:18
2004.12.12
Подскажите название dll windows, в которой есть функция time




   Наверх