powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Из класса в компоненты (TInterfacedObject)
10 сообщений из 35, страница 2 из 2
Из класса в компоненты (TInterfacedObject)
    #39591119
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
25.01.2018 17:08, Счетовод Ссылок пишет:
> но публика хочет чтобы как инди либа например.

инди либа - ПЛОХОЙ пример.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39591165
Мимопроходящий25.01.2018 17:08, Счетовод Ссылок пишет:
> но публика хочет чтобы как инди либа например.

инди либа - ПЛОХОЙ пример.


Ну ладно, еще есть компоненты с протоколами, вот , потом еще турбо пауэр тоже заворачивали протоколы в компоненты, ну суть не важно...
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39717998
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут возникла обратная задача.
Есть плагин, который наружу выставляет интерфейс, а внутри он имплементируется через TComponent (там стримминг свойств используется для бэкап-ов).
Не могу сообразить, как счетчик ссылок прикрутить чтобы это взлетело.
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718028
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,
implements
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718038
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),
Это понятно, но счетчик ссылок в таком случае будет работать именно у вложенного компонента (т.е. где его нет).
Взлетит только если снаружи хранить еще ссылку на базовый IUnknown и следить, чтобы они уничтожались строго в определенной последовательности.
Что в сущности есть кривой костыль.
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718043
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

Собственный IUnknown?
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718064
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,
Это как?
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718075
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

Ну как обычно:
Код: pascal
1.
TMyComponent = Class(TComponent, IUnknown, ...)
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718083
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,
Опа, я был уверен, что в этом случае будут просто использоваться базовые _addref/_release, оказывается нет.
Спасибо!
...
Рейтинг: 0 / 0
Из класса в компоненты (TInterfacedObject)
    #39718174
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борисkealon(Ruslan),
Это понятно, но счетчик ссылок в таком случае будет работать именно у вложенного компонента (т.е. где его нет).
Взлетит только если снаружи хранить еще ссылку на базовый IUnknown и следить, чтобы они уничтожались строго в определенной последовательности.
Что в сущности есть кривой костыль. эта бага подправлена начиная с XE3
"до" можно закостылить объявив пустые заглушки (_Add, ...) с "неправильными параметрами" и reintroduce
...
Рейтинг: 0 / 0
10 сообщений из 35, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Из класса в компоненты (TInterfacedObject)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]