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

Вниз

По поводу TypeLib Editor а   Найти похожие ветки 

 
gagarkin ©   (2002-12-20 11:21) [0]

Доброе время суток!

Есть маленькая проблемка.
создаю в ActiveX Libriary.

Далее допустим в ней:

MyObj1 + IMyObj1 (IDispatch).
Потом делаю
MyObj2 + IMyObj2, при этом IMyObj2 (IMyObj1)

в коде исправляю руками (вот здесь мне кажется я делаю что, то не так)
TMyObj2 = class (TAutoObject, IMyObj2) ...
на
TMyObj2 = class (TMyObj1, IMyObj2) ...

Так вот, по хорошему Delphi"а не должна генерировать в TMyObj2 процы из
IMyObj1,
так как они уже реализованы в TMyObj1, а она это, гадина, делает!
Как-нибудь ей можно указать, чтобы она не делала этого?
Ведь она же не генерирует в TMyObj1(TAutoObject, IMyObj1), например Invoke
из IDispatch!

_________________________________________
С уважением, Гагаркин Владимир Геннадьевич


 
asmith   (2002-12-20 13:17) [1]

ИМНО это невозможно. Интерфейс - не более, чем договоренность, контракт между двумя сторонами. Поэтому если я создал класс, реализующий IMyObj2(IMyObj1), реализация должна включать методы обеих интерфейсов. В этом интерфейсы и просто классы разнятся - наследование интерфейсов не означает наследования реализаций, а для классов это справедливо.


 
gagarkin ©   (2002-12-20 19:06) [2]

Энто я понимаю!
Но я надеялся, что есть некая опция, которая указывала бы, что не надо вставлять в класс реализацию, которая уже есть в базовом классе!

Бесит просто, когда я допустим из TMyObj2 удаляю некоторые методы реализующие IMyObj1, а потом лезу в Editor, изменяю там, что-нибудь и он мне в код опять вставляет эти методы!

Просто напрягает в них писать:
Result := inherited Get_...;
У меня просто к концу иерархии около ста методов!
Обидно тыкать тупой код.



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
1-1783
KME
2002-12-20 12:09
2003.01.02
Рисование в TIMAGE


3-1763
yaJohn
2002-12-11 13:13
2003.01.02
Как заставить TClientDataSet перефильтроваться


14-1885
stone
2002-12-11 11:13
2003.01.02
Ария в новом составе выпустила первый сингл


14-1917
stone
2002-12-15 14:29
2003.01.02
Из корпоративной переписки (продолжение)


1-1791
George3
2002-12-20 13:32
2003.01.02
Как из строки TfrmTest получить ссылку на класс TfrmTest