简单问题(50分)

  • 主题发起人 主题发起人 xiaoyin
  • 开始时间 开始时间
X

xiaoyin

Unregistered / Unconfirmed
GUEST, unregistred user!
一个AUTOMATION对象,一个接口和两个事件接口,该如何枚举这两个接口
 
不太明白什么叫'枚举'
 
只知道怎麼通過接口名字來得到接口,不知怎麼枚舉

學習
 
IRealMutiEvt = interface(IDispatch)
['{C42ECD27-DEC7-4EAA-8AFA-317B29A3AC77}']
procedure TrigeDefEvt(const Msg: WideString); safecall;//激活第一个事件接口的一个方法
procedure TrigeDefEvt2(const msg: WideString); safecall;//激活第二个事件接口的一个方法
end;

IRealMutiEvtEvents = dispinterface//第一个事件接口
['{6C914926-A864-4626-9D82-9E74B1A84E70}']
procedure OnMsg(const bstr: WideString); dispid 1;
end;

IRealMutiEvtEvents2 = dispinterface//第二个事件接口
['{04991AA7-71E5-405D-ABD5-5A0D3D6272FD}']
procedure OnMsg(const msg: WideString); dispid 1;
end;
在实现部分
procedure TRealMutiEvt.Initialize;
begin
inherited Initialize;
FConnectionPoints := TConnectionPoints.Create(Self);
if AutoFactory.EventTypeInfo <> nil then
BEGIN
FConnectionPoint := FConnectionPoints.CreateConnectionPoint(
AutoFactory.EventIID, ckMulti, nil);
FconNectionPoint2 := FConnectionPoints.CreateConnectionPoint (DIID_IRealMutiEvtEvents2,ckMulti,nil)
END;
procedure TRealMutiEvt.TrigeDefEvt(const Msg: WideString);
var
DefEvt : IRealMutiEvtEvents
begin

//如何得到第一个接口defevt
end;
 
后退
顶部