VBS调用ocx得到出口参数问题,急急急```谢谢

seanlive 2008-09-04 09:31:51
各位高手,现在我有一个VB的OCX里面有这样一个方法
Function GetCurrentInvNumber(sCurrInvNo$, sCurrInvCode$, sStartNo$, sEndNo$) As Long

sCurrInvNo$, sCurrInvCode$, sStartNo$, sEndNo$是出口参数;我现在需要调用这个方法,VBS源码如下:

<OBJECT id=webocx codeBase=controls/Fiscal.cab##version=1,0,0,0 height=32
width=32 classid=clsid:6315E02A-4C14-474F-A4E1-817048ED675A name=webocx><PARAM NAME="_Version" VALUE="1,0,0,0"></OBJECT>

<script type="text/vbscript">
function test()
dim rlt
dim rltact
dim webocx
set webocx= CreateObject("FiscalOcx.TFiscal")

Dim ScurrInvNo,ScurrInvCode,SStartNo,SEndNo
ScurrInvNo=""
ScurrInvCode=""
SStartNo=""
SEndNo=""
rlt = webocx.CommOpen("1","57600","60")

if rlt=false then
msgbox "设备初始化失败"
end if

rltact=webocx.GetCurrentInvNumber(ScurrInvNo,ScurrInvCode,SStartNo,SEndNo)
if rltact=0 then
msgbox ScurrInvNo
end if
end function
</SCRIPT>



rltact=webocx.GetCurrentInvNumber(ScurrInvNo,ScurrInvCode,SStartNo,SEndNo
走到这句报错``类型不匹配


下面的例子是能成功调用到的,但是代码是VB代码:

Private Sub btnGetCurrentInvNumber_Click()
Dim sinvnumber$, iret%, sCurrInvCode$, sStartNo$, sEndNo$
MsgBox sinvnumber
iret = TFiscal1.GetCurrentInvNumber(sinvnumber, sCurrInvCode, sStartNo, sEndNo)
If iret = 0 Then
MsgBox sinvnumber
Else
MsgBox Hex(iret)
End If
End Sub
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrshelly 2008-09-08
  • 打赏
  • 举报
回复
不懂VB

VB的这个$ 是干什么用的?

帮你顶起来.
seanlive 2008-09-08
  • 打赏
  • 举报
回复
难道没人知道?
seanlive 2008-09-08
  • 打赏
  • 举报
回复
...
seanlive 2008-09-05
  • 打赏
  • 举报
回复
....
mnm326 2008-09-05
  • 打赏
  • 举报
回复
友情支持,顶
seanlive 2008-09-05
  • 打赏
  • 举报
回复
自己顶起来
seanlive 2008-09-05
  • 打赏
  • 举报
回复
高手呢
seanlive 2008-09-04
  • 打赏
  • 举报
回复
在VBS中这样定义不行
Dim sinvnumber$, iret%, sCurrInvCode$, sStartNo$, sEndNo$
mrshelly 2008-09-04
  • 打赏
  • 举报
回复
你也一样照下面定义变量就行了.....

4,008

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧