描述:
要为网页做一个可调用的COM组件,要怎么做?
我已经做了一个最简单的COM,但是在网页中怎么也调用不到接口函数,有什么是需要注意的么?
解决方案1:
使用new ActiveXObject(...)能创建成功吗?不成的话,添加这个:
http://support.microsoft.com/kb/168371
你用的是什么样的script语言?
要注意的地方:(1)COM接口必须是自动化接口(从IDispatch继承)。(2)运行过regsvr32没有?(3)最好给每个参数加上[in][out]等描述。(4)我的经验,perl在调用带[out]参数的组件时会无法接受到返回值(必须用[out,retval]参数)。VBScript则没有这个问题。(5)调用时语法一定要正确,vbscript往往不报错,但就是不运行,这时推荐先保证在VB6.0里面运行成功。
下面的代码调用我写的一个组件很顺利,当然跟你的组件可能不一样:
<HTML>
<HEAD>
<TITLE>MrDBAccess Unit Test</TITLE>
<SCRIPT LANGUAGE="VBScript">
Option Explicit
Sub testcase01(dbName)
On Error Resume Next
Set MrDb = CreateObject("MrDBAccess.MrDb")
bOpened=MrDb.IsOpened(CStr(dbName))
End Sub
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="Form1">
<SCRIPT LANGUAGE="VBScript">
...
testcase01(dbName)
</SCRIPT>
</FORM>
</BODY>
</HTML>
ocx就是你所要的com
解决方案4:http://msdn2.microsoft.com/zh-cn/library/sxwkda4a(VS.80).aspx
解决方案5:在Activex Test Container里调用接口函数吗?