Ан
Антон

С++ Builder / Где правильно создавать/удалять глобальные объекты?

Доброго времени суток!
У меня возник такой вопрос. Допустим в программе должен использоваться объект, объявленный в отдельном модуле:

// mng.h
class CManager {};
extern CManager *Manager;

//mng.cpp
CManager *Manager;

Для того, чтобы выделить и потом удалить память этого объекта, я пишу нечто вроде следующего:

// form1.cpp

void __fastcall Form1::Create()
{
Manager = new TManager;
}
void __fastcall Form1::Destroy()
{
delete Manager;
}

Мой вопрос заключается в следующем: как правильно организовать создание и удаление объекта Manager, не задействую при этом события, связанные с созданием и удалением главной формы. Ведь по сути форма не должна заниматься выделением/освобождением памяти под объекты, которыми она не владеет

Па
Павел

В си билдере где-то в меню (уже не помню где именно) есть кнопка "Show source code", которая показывает исходный код самого проекта (а не форм) . Там по дефолту записываются инклуды файл с формами и создание форм, туда и можно залепить свой код. Правда не знаю, не перезатрётся ли он при добавлении в проект новой формы, ибо Билдер считаю извращенством и не пользуюсь им, просто ради любопытства поковырял когда-то)

Александр
Александр

Бредовое объявление. Экстерн должен объявляться там, где его используют, а не хедере.
Ну и пихай создание в main, что ж поделать-то. Или переопределяй себе TApplication.
И вообще некультурно глобальные переменные использовать, запихнул бы в главную форму.. . или написал бы синглетон.

Похожие вопросы
Помогите пожалуйста С++ Borland Builder
Где скачать winlocker builder v0.4?
Струкрура приложения в Flash Builder
Как преобразовать десятичное число в шестнадцатеричное в С++ Builder ?
программа по C++ Builder
C++ Builder, автозапуск программы
Какой антивирус. лечит, а не удаляет зараженные объекты?
как перехватить изменение языка глобально (с++ builder)
как в c++ builder программно удалять вкладки в PageControl ?
!!! C++Builder 6 оператор getch();