Вниз
Скачать: 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.02 c
8-1094655749
Stein
2004-09-08 19:02
2004.12.12
Работа с TImage


3-1100069354
first_may
2004-11-10 09:49
2004.12.12
Ошибка...


3-1100008025
denis24
2004-11-09 16:47
2004.12.12
проверка и удаление таблицы


1-1101648469
Dmitry_04
2004-11-28 16:27
2004.12.12
Окно сворачивается на панель задачь...


1-1101717269
Wood
2004-11-29 11:34
2004.12.12
Поиск фрагмента текста в Memo и выделение его.




   Наверх