给个示例
VFP与高级COM组件事件绑定
VFP的 EVENTHANDLER 命令允许绑定一个 COM 服务程序事件到一个VFP对象上被实现接口的方法
例:VFP绑定MSScriptControl库的ScriptControl对象事件Error和Timeout
操作过程:
1、打开VFP的对象浏览器
2、打开类型库,在COM库页选择 Microsoft Script Control 1.0
3、在“类和成员”列表的“接口”点击 DScriptControlSource,右边“使用该接口的类”看到ScriptControl
4、在“类和成员”列表的“类”点击 ScriptControl,右边“事件”看到Error、Timeout
5、分别点击 Error 和 Timeout,下边信息框看到:
事件 Error() 为 空的
事件 Timeout() 为 空的
两个事件函数无入口参数,返回值“空”值(无定义返回值)
指定数据类型可参考 DIMENSION 命令的 AS cType 说明
下面代码会触发 Error 事件
程序代码:
										
					
	
	
	
	      VFP与高级COM组件事件绑定
VFP的 EVENTHANDLER 命令允许绑定一个 COM 服务程序事件到一个VFP对象上被实现接口的方法
例:VFP绑定MSScriptControl库的ScriptControl对象事件Error和Timeout
操作过程:
1、打开VFP的对象浏览器
2、打开类型库,在COM库页选择 Microsoft Script Control 1.0
3、在“类和成员”列表的“接口”点击 DScriptControlSource,右边“使用该接口的类”看到ScriptControl
4、在“类和成员”列表的“类”点击 ScriptControl,右边“事件”看到Error、Timeout
5、分别点击 Error 和 Timeout,下边信息框看到:
事件 Error() 为 空的
事件 Timeout() 为 空的
两个事件函数无入口参数,返回值“空”值(无定义返回值)
指定数据类型可参考 DIMENSION 命令的 AS cType 说明
下面代码会触发 Error 事件
程序代码:TEXT TO cCode TEXTMERGE NOSHOW PRETEXT 7
    function fun()
    {
        return 123+a;
    }
ENDTEXT  
sc = CREATEOBJECT("ScriptControl")
et = CREATEOBJECT("myEvents")
EVENTHANDLER(sc, et)
sc.Language = "JavaScript"
sc.AddCode(cCode)
? sc.Run("fun")
RETURN
DEFINE CLASS myEvents AS session OLEPUBLIC 
    IMPLEMENTS DScriptControlSource IN "ScriptControl"
    PROCEDURE DScriptControlSource_Error() as VOID
        ? "触发Error事件"
    ENDPROC
    PROCEDURE DScriptControlSource_Timeout() as VOID
        ? "触发Timeout事件"
    ENDPROC    
ENDDEFINE



											
	    

	
											