Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.012 c
3-65381
Sam Stone
2003-09-28 17:36
2003.10.20
Копия записей


1-65421
Islander
2003-10-07 17:48
2003.10.20
Редактор ресурсов


1-65449
Gray Angel
2003-10-07 13:18
2003.10.20
Win <-> Dos, Ansi <-> Unicode


14-65629
Grouzd[E]v
2003-09-28 21:49
2003.10.20
What a ... blah blah blah?!!!


3-65352
Andrei123
2003-09-29 13:31
2003.10.20
Key Violation