![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Особенность создания компонентных врапперов OLE
Дмитрий Белькевич © (2010-02-10 21:05:00)Делаю import type library некоторой библиотеки (StarBurn).
Среда создаёт описание библиотеки и компонентные врапперы:
IStarBurnX = interface(IDispatch)
....
end;
IStarBurnX2 = interface(IStarBurnX)
....
end;
TStarBurnX = class(TOleServer)
private
FIntf: IStarBurnX2;
....
end;
Насколько верен такой подход?
Думаю, что логичнее было бы создавать два враппера: TStarBurnX = class(TOleServer) и TStarBurnX2 = class(TStarBurnX), с соответствующими интерфейсам (IStarBurnX/IStarBurnX2) свойствами/методами.
Сейчас есть проблема, что из TStarBurnX нельзя напрямую обратиться к свойствам/методам интерфейса IStarBurnX - только через DefaultInterface (точнее - для этого не создано обёрток, понятно, что всё равно всё обращение внутри враппера идёт через DefaultInterface). Это не особенно напрягает, но по-моему не верно. Стоит ли в QC писать?
Среды: Delphi2010/D7.
Дмитрий Белькевич (2010-02-11 04:17:00) [1]
> то, что они не делфийские.
А мужики и не знали :)
Германн (2010-02-11 02:48:00) [2]
> KilkennyCat © (11.02.10 02:43) [4]
>
>
> > Дмитрий Белькевич (11.02.10 02:19) [2]
>
> то, что они не делфийские.
Врапперы?
KilkennyCat (2010-02-11 02:43:00) [3]
> Дмитрий Белькевич (11.02.10 02:19) [2]
то, что они не делфийские. Я вообще не слышал об операционной системе Делфи.
Дмитрий Белькевич (2010-02-11 02:40:00) [4]
> Думаю, что логичнее было бы создавать два враппера: TStarBurnX
> = class(TOleServer) и TStarBurnX2 = class(TStarBurnX), с
> соответствующими интерфейсам (IStarBurnX/IStarBurnX2) свойствами/методами.
>
Или, другой вариант, делать в TStarBurnX обёртки и для IStarBurnX и для IStarBurnX2?
Дмитрий Белькевич (2010-02-11 02:19:00) [5]
> Я думаю, перед этим стоит почитать мсдн
И что интересное я в мсдн по поводу делфийских врапперов найду?
KilkennyCat (2010-02-11 02:09:00) [6]
> Стоит ли в QC писать?
Я думаю, перед этим стоит почитать мсдн