js 调用VB 做的AvctiveX控件中方法属性无参数返回值!

来源:百度知道 编辑:UC知道 时间:2024/05/01 20:29:06
我在做一个VB的AvctiveX控件
控件内的方法是
Public Function ReadCard(CardID As String, Money As String, password As String)
CardID=1
Money=100
password=123456
End Function
在html里面

<script type="text/javascript">

function ReadCard1()
{
var CardID=document.getElementById('CardID');
var Password=document.getElementById('Password');
var money=document.getElementById('money');

var c;
var m;

var control=document.getElementById('MyControl');
var i=control.ReadCard(c, m, Password.value);

CardID.innerText = c;
money.innerText = m;
alert(i);
}
</script>
<BODY>

<OBJECT ID="MyControl"
CLASSID="CLSID:B94DBECA-C678-4B51-B44D-BDCE664AFED3"
CODEBASE="Proj_SmartCard.CAB#version=1,0,

我熟VB但不熟悉JS。
所以我只能说,VB函数本身没问题,使用地址传递,在调用后传送过去的变量值自动改变。
你再检查一下JS的代码吧。

----

Public Function 应该可以的,使用Property麻烦

你写的函数本来就没有返回值啊!!!

Public Function ReadCard(CardID As String, Money As String, password As String)
CardID=1
Money=100
password=123456
End Function

函数需要返回类型,例:
Function fnName( argu...) AS INTEGER

然后,在函数里面要:
fnName = Exp....

这样才会有返回值!

还有,VB 参数默认是传地址的,js 呢?参数穿的是地址,还是值呢?
这点需要在研究一下。

Public Function ReadCard(CardID As String, Money As String, password As String)
CardID=1
Money=100
password=123456
End Function

函数需要返回类型,例:
Function fnName( argu...) AS INTEGER

然后,在函数里面要:
fnName = Exp....

这样才会有返回值!
你好像缺条件了