如何使用java/vb脚本在自定义ActiveX dll中调用方法

Chr*_*s B 5 javascript vb6 dll vbscript activex

我使用VB6创建了一个ActiveX dll,并使用打包和部署向导打包它,这导致了一个cab文件和一个演示HTML页面.

此ActiveX dll包含一个返回字符串并且不接受任何参数的simgle方法.

我遇到的麻烦是,当我调用该方法时,我总是得到一个"对象不支持此属性或方法"错误.但它支持我打电话的方法.

我想要实现的是用户访问一个网页,其中包含一些java或vb脚本,它调用我的ActiveX中的方法并获取返回的字符串值.DLL旨在被称为客户端.

我的测试网页如下:

<html>
<head>
    <title>SaveClipboardImage.CAB</title>
    <object id="Class1" classid="CLSID:" codebase="SaveClipboardImage.CAB#version=1,0,0,0"></object>
    <script type="text/javascript">
            function displaymessage()
            {
                try
                {
                var filename;

                filename = Class1.SaveClipboardToImage();

                alert(filename);
                }
                catch(e)
                {
                    alert(e.message);
                }               
            }
    </script>
</head>
<body>      
    <input type="BUTTON" onclick="displaymessage()" value="preview" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我显然做错了什么,但我不知道是什么.我是否必须在VB6项目中为类做一些特殊的事情,以便我可以访问该方法?我是否错误地调用了DLL?

谢谢你的帮助.

Kri*_*son 6

Javascript对Class1一无所知.你必须把对象变成javascript.

尝试:

        function displaymessage()
        {
            try
            {
                var filename;
                var class1 = document.getElementById("Class1");
                filename = class1.SaveClipboardToImage();

                alert(filename);
            }
            catch(e)
            {
                alert(e.message);
            }                       
        }
Run Code Online (Sandbox Code Playgroud)