_DSpaDB = dispinterface
['{058ADF51-1120-11D0-80D0-0000F73D691E}']
property MapLayers: IDispatch dispid 1;
property CompoundMaps: IDispatch dispid 2; _DCompoundMaps = dispinterface
['{8D431C80-44DA-11D1-BAC7-0000F73D6C85}']
property Count: Integer dispid 1;
property Names: IDispatch dispid 2; _DStringArray = dispinterface
['{633349B2-27FC-11D0-8107-0000F73D691E}']
property Count: Integer dispid 1;
property value[index: Integer]: WideString dispid 14;C++ Builder中我找到可以用这种邦定的方式调用,
_DCompoundMapsDisp CMaps;
CMaps.Bind(_DSpaDB->CompoundMaps);
_DStringArrayDisp CMapNames;
CMapNames.Bind(CMaps.Names);在Delphi中好像无法这样做。有什么方法来实现类似的调用呢?
['{058ADF51-1120-11D0-80D0-0000F73D691E}']
property MapLayers: IDispatch dispid 1;
property CompoundMaps: IDispatch dispid 2; _DCompoundMaps = dispinterface
['{8D431C80-44DA-11D1-BAC7-0000F73D6C85}']
property Count: Integer dispid 1;
property Names: IDispatch dispid 2; _DStringArray = dispinterface
['{633349B2-27FC-11D0-8107-0000F73D691E}']
property Count: Integer dispid 1;
property value[index: Integer]: WideString dispid 14;C++ Builder中我找到可以用这种邦定的方式调用,
_DCompoundMapsDisp CMaps;
CMaps.Bind(_DSpaDB->CompoundMaps);
_DStringArrayDisp CMapNames;
CMapNames.Bind(CMaps.Names);在Delphi中好像无法这样做。有什么方法来实现类似的调用呢?
delphi中不能只声明接口的属性,不许加上至少一个read之类的方法,
a = interface
function getb:string;
property b:string read getb;
end;
好像看到VB上面可以这样StringArray = DSpaDB.CompoundMaps.names;
在Delphi中当然不能这样用,不明白怎么实现上面的过程,
C++ Builder中那样做好像是给DSpaDB->CompoundMaps加上一个引用,
但在Delphi中不知道该怎么办