Вниз
Скачать: CL | DM;

Свойство типа TComponent   Найти похожие ветки 

 
Raduga   (2003-10-09 12:56) [0]

Здравствуйте, мастера.
Пишу компонент, в нем сделал поле типа FAnyCompanent:TCompanent (или тип будет наследник от него, не важно), и соответственно в published добавил

AnyCompanent:TCompanent read FAnyCompanent write FAnyCompanent

Все работает замечательно.
Вопрос вот в чем: не происходит ли потеря ресурсов при изменении свойства AnyCompanent (присвоили другой компонент допустим)?
Или лучше написать дополнительно процедуры установки свойств?


 
clickmaker ©   (2003-10-09 12:57) [1]

А причем тут ресурсы? Присваивается же не сам компонент, а указатель на него


 
Skier ©   (2003-10-09 12:59) [2]


> не происходит ли потеря ресурсов при изменении свойства
> AnyCompanent (присвоили другой компонент допустим)?

FAnyCompanent создаётся внутри твоего класса или используется только как "хранилище" для ссылки ?


 
Raduga   (2003-10-09 13:05) [3]

Что-то совсем загнался... :)
Для ссылки только.


 
Skier ©   (2003-10-09 13:07) [4]

>Raduga (09.10.03 13:05) [3]

> Для ссылки только.

Тогда утечки никакой не будет, но может понадобится
перекрытие (override) метода TComponent.Notification


 
Raduga   (2003-10-09 13:20) [5]

>Skier © (09.10.03 13:07) [4]
Что-то не уловил, для чего перекрывать?


 
Skier ©   (2003-10-09 13:22) [6]

>Raduga (09.10.03 13:20) [5]
1) Я сказал "может", т.е может и не понадобится )
2)Почитай про этот метод в Help-е. Если будет не понятно, то
попытаюсь объяснить.


 
Raduga   (2003-10-09 13:29) [7]

Как я понял, чтобы при помещении компанента, на который ссылается FAnyCompanent, на форму в моем компоненте что-то выполнялось автоматически, так? Но у меня гораздо проще задача, пусть все ручками делается :)


 
Юрий Зотов ©   (2003-10-09 13:29) [8]

И еще может потребоваться метод записи свойства:
write SetAnyComponent
вместо
write FAnyComponent

Имеется в виду FreeNotification. Тоже посмотрите.


 
Skier ©   (2003-10-09 13:30) [9]


> Как я понял, чтобы при помещении компанента, на который
> ссылается FAnyCompanent, на форму в моем компоненте что-то
> выполнялось автоматически, так?

Так. Но не только при помещении, но и при удалении


> Но у меня гораздо проще задача, пусть все ручками делается
> :)

OK


 
Юрий Зотов ©   (2003-10-09 13:31) [10]

> Raduga (09.10.03 13:29) [7]

При ПОМЕЩЕНИИ можно ничего не делать, а вот при УДАЛЕНИИ делать обязательно надо. Иначе наловитесь Access Violation"ов по самое некуда.



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

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



Память: 0.47 MB
Время: 0.01 c
3-65351
konst
2003-09-29 12:29
2003.10.20
сортировка Query


1-65520
Relaxxx
2003-10-08 12:55
2003.10.20
Количество часов между часами(извиняюсь за тафтологию)


1-65445
Дмитрий
2003-10-07 15:16
2003.10.20
Стать на последний элемент в ListView


1-65423
asterisk
2003-10-07 19:41
2003.10.20
DLL для 1С


14-65639
lokka
2003-09-30 16:09
2003.10.20
Как говорится, без комментариев




   Наверх