软件集成接口.COM组件交互(3)

VB/VBS的COM组件调用。

在历史较长且比较有名的软件中,有很多都支持类VB/VBS/VBA语法,由此可见当年微软的威势!特别是VBS,如果没有了对COM/OCX组件的调用能力,立马就残了。废话少说,上代码:

调用COM组件:

Function doSomething(message, objects)
    On Error Resume Next
	Dim enovia, jsonString
	Set enovia = CreateObject("Custom.Interface.Enovia.Start")
	If 0 <> Err.number Then
	    MsgBox Err.Description & " : Custom.Interface.Enovia.Start, 其在耶?注册耶?"
	    Exit Function
	End If
	jsonString = getJsonString(message, objects)
	export getEnvironmentValue("PROCESS", "TEMP") & "\js.to", jsonString
	jsonString = enovia.doSomething(jsonString)
	Set enovia = Nothing
	
	doSomething = jsonString
End Function

虽然这里看起来代码很繁杂,但其实套路很简单:先CreateObject,创建一个COM对象,然后直接把这个对象拿来用就是了。

如果有COM事件,则需要在创建对象的语句后面补一句GetRef:

Set enovia = CreateObject("Custom.Interface.Enovia.Start")
enovia.OnWriteback = GetRef("onWriteback")

这里onWriteback是一个VBS里定义的函数或者过程:

Sub onWriteback(AData)
  Dim Answer, AMessage
  Set Answer = Decode(AData)
  AMessage = Answer.Item("message")
  Set Answer = Nothing
End Sub

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值