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

Вниз

Как создать объект в динамической памити?   Найти похожие ветки 

 
b0bi   (2004-03-26 10:50) [0]

Добрый день мастера!!!
Столкнулся с проблемкой. У меня создаются объекты динамически одной процедуркой, типа:

procedure TFTest.Button1Click(Sender: TObject);
var  TP:TProcManager;
begin
     TP:=TProcManager.Create(1,TL.Count);
     List.Add(@TP);
end;

Проблемма в чём, при выходе из процедуры Delphi удаляет убъект, т.е. получается, что ссылка в List"е недействительна. Как заставить объект не удаляться при выходе из процедуры.

Как создать объект в динамической памити?


 
Тимохов ©   (2004-03-26 10:51) [1]


>    List.Add(@TP);

заменить на
List.Add(TP);


 
b0bi   (2004-03-26 10:59) [2]


> заменить на
> List.Add(TP);


TList.Add принимает в качестве параметра указатель, а не объект


 
Тимохов ©   (2004-03-26 11:00) [3]

TProcManager - это класс?
если да, слушайте, что вам говорят


 
b0bi   (2004-03-26 11:02) [4]

извиняюсь, некомпетентен
проверил, работает
спасибо


 
Курдль ©   (2004-03-26 11:03) [5]

Ответ: Объявите переменную TP глобально.
Рекомендация 1: При работе со списком объектов пользуйтесь TObjectList.
Рекомендация 2: Чтобы уж совсем все красиво заработало, стройте код "по рекомендациям призводителя" - TCollection - TCollectionItem.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
6-1075029390
Barmutik
2004-01-25 14:16
2004.04.11
WebBrowser и HTTPS сессия


3-1081592370
Mouse
2004-04-10 14:19
2004.04.11
Как выделить нужную строку в DBGrid по нажатию на кнопку?


4-1079505816
rimd
2004-03-17 09:43
2004.04.11
GetKeyboardLayoutName()


8-1071045370
типа я
2003-12-10 11:36
2004.04.11
Нет длльки OpenGL.dll


6-1075720629
__boolean
2004-02-02 14:17
2004.04.11
Систмы передачи данных. Help