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

Вниз

Конструктор и деструктор в компоненте   Найти похожие ветки 

 
Kir68   (2003-03-05 10:49) [0]

Уважаемые мастера.
Пишу компонент.
В компоненте есть свойство типа pointer (без него никак не получается) В процессе работы компонента память для этого указателя то выделяется то освобождается. Нужно чтобы при создании компонента ему присваивался nil, а при удаления компонента память точно освобождалась.
Я написал конструктор и деструктор. Проинсталировал компонент, но когда бросаешь его на форму ничего не происходит. Среда не добавляет компонента в форму, т.е. на экране он есть, а в .dfm ничего нет, нет и в описании обекта tForm1. Убираешь обе процедуры все начинает работать.

Подскажите как либо правильно написать конструктор с деструктором, либо что делать с указателями, чтобы память точно освобождалась.

public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;

constructor tBtrvApi.Create(AOwner: TComponent);
begin
inherited Create(Owner);
DataBuf:=nil;
KeyBuf:=nil;
end;
{*************************************************************}
destructor tBtrvApi.Destroy;
begin
if DataBuf<>nil then
begin
FreeMem(DataBuf);
DataBuf:=nil
end;
if KeyBuf<>nil then
begin
FreeMem(KeyBuf);
KeyBuf:=nil
end;
inherited Destroy;
end;


 
Feofan ©   (2003-03-05 11:30) [1]

весь код класса покажи :)


 
Anatoly Podgoretsky ©   (2003-03-05 11:33) [2]

Что такое DataBuf и KeyBuf
и что такое tBtrvApi


 
AlexSV ©   (2003-03-05 11:54) [3]

Возможно в конструкторе надо
...
inherited Create( A Owner);
...


 
Feofan ©   (2003-03-05 11:55) [4]

AlexSV глазастый какой 8-)


 
Anatoly Podgoretsky ©   (2003-03-05 12:08) [5]

AlexSV © (05.03.03 11:54)
Вероятно там нужен просто inherited;


 
Kir68   (2003-03-05 13:46) [6]

Спасибо!
Нужно было aOwner


 
Юрий Зотов ©   (2003-03-05 16:07) [7]

> Kir68

Если DataBuf и KeyBuf - поля компонента, то ТАКОЙ конструктор ВООБЩЕ не нужен. Уберите его. Поля и без него будут NIL.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
7-54347
MAPIIIAJL
2003-01-23 00:16
2003.03.17
Подскажите, как работать с двоичными файлами?


4-54382
alexnmsk
2003-01-23 10:09
2003.03.17
Еще раз об иконках


1-53966
mmmh
2003-03-06 00:12
2003.03.17
Доброго времени суток. Итак есть pagecontrol на нем есть выкладка


3-53883
opoloXAI
2003-02-25 10:53
2003.03.17
DBGrid.Column


7-54343
SkyDive
2003-01-22 01:23
2003.03.17
Как в Delphi6 получить изображение со сканера