日期:2014-05-16  浏览次数:20381 次

分少`但是结贴100%js调用ActiveX函数
<input   id= "InsertToList "   type= "button "   value= "InsertToList "   onclick= "InsertToList(); "   />
<script   language= "javascript "   type= "text/javascript ">
        function   InsertToList()
        {
                    var   obj=new   ActiveXObject( "ScannerActiveX.Card ");  
                    var   aa   =obj.ReturnTxt();
                    alert(aa);
                   
        }
</script>
obj对象已经正确的创建了因为我用vs智能提示可以看到ActiveX提供的公共方法.但是为什么aa始终为空?
这是vb   ActiveX的函数就是返回一个文本框的值
Public   Function   ReturnTxt()   As   String
                Dim   scannerText   As   String
                scannerText   =   Text1.Text
                ReturnTxt   =   scannerText
End   Function
对这个方法写的位置有什么限制吗?必须要写到类模块中吗?我不会VB
谢谢各位.

------解决方案--------------------
这个new 的时候已经调到模块Card中了,
先定位问题是哪方面出的
1、单步调式下VB的那个DLL看看可不可以走通
2、vb那个里面什么都不写,直接写return看看有没有调到,查看是否注册时的问题