vb6 写的ActiveX IE调用问题

时间:2021-09-28 23:16:03
我写了一个ActiveX,并且写了一个网页来调用。如果是用本地盘符打开这个网页就都可以。但假如用Http这样调用,只有Ie6可以。(我台电脑还是ie6)。请问是什么问题?谢谢。
网页内容如下:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>

<body >

<p>
<object classid="clsid:54489E1E-7637-4D7A-AD62-A29C711F902C" id="DLFrm1" width="122" height="27">
  <param name="_ExtentX" value="3228">
  <param name="_ExtentY" value="714">
</object>
</p>
<script language="Javascript">
alert(DLFrm1.IDStr);
alert(DLFrm1.DownloadDataFinish);
for (var i=1;i<=DLFrm1.DataCount;i++)
{
document.write(DLFrm1.GetDataStr(i) + "<br/>");
}
</script>

</body>

</html>

6 个解决方案

#1


转到ASP版问问吧

#2



<OBJECT ID="UCMain" name="uc"
CLASSID="CLSID:76367516-F50E-47ED-9285-563551ACD947"
CODEBASE="ECG.CAB#version=1,0,0,0">

是不是没有codebase的原因?另外,你用http访问的时候,需要吧你的cab包也放到iis目录下面。

#3


这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。只是用Http://这样打开时就不响应。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

#4


你安装了IIS了么?
Http://需要做成web网站的

引用 3 楼 whwasd 的回复:
这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。只是用Http://这样打开时就不响应。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

#5


引用 3 楼 whwasd 的回复:
这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

"只是用Http://这样打开时就不响应。",这句话什么意思?http://这里是什么??你的电脑的ip?,那么你的cab包放到iis目录下面了吗?必须放上!!
首先确保你用另一台电脑是可以访问http://你的ip,然后再把vb打包之后的cab包和htm页放到iis的一个虚拟目录底下,然后到另一台电脑*问看看。如果部署成功的话应该有个安全提示。

#6


是的,比如我的IP是192.168.1.102我用IE打开时是Http://192.168.1.102/testweb/1.htm
这样在我本机上打开是可以的,我写的ActiveX控件能操作,能产生响应。就是说会返回IDStr给我。
但在另一台电脑上我这样打开时IDStr就返回不了。但我将此网页拷到这台返回不了IDStr的电脑直接点击运行就可以。
然后我按你所说打包了一个Cab而且放到了我的虚拟目录下,还是访问不了。192.168.1.102这台电脑是win2000+ie6

打得开返回不了IDStr属性的这台电脑是vista +ie7。

#1


转到ASP版问问吧

#2



<OBJECT ID="UCMain" name="uc"
CLASSID="CLSID:76367516-F50E-47ED-9285-563551ACD947"
CODEBASE="ECG.CAB#version=1,0,0,0">

是不是没有codebase的原因?另外,你用http访问的时候,需要吧你的cab包也放到iis目录下面。

#3


这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。只是用Http://这样打开时就不响应。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

#4


你安装了IIS了么?
Http://需要做成web网站的

引用 3 楼 whwasd 的回复:
这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。只是用Http://这样打开时就不响应。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

#5


引用 3 楼 whwasd 的回复:
这个cab我到时会放上去。其实cab包也是注册控件吧?我到另一台电脑注册了这个控件,而且要用到的资源都放到这台电脑上的system32下了。如果我将这网页放到这台电脑下任意位置点击运行,是可以响应我写的ActiveX的。这样代表我注册是成功了的。

"只是用Http://这样打开时就不响应。",这句话什么意思?http://这里是什么??你的电脑的ip?,那么你的cab包放到iis目录下面了吗?必须放上!!
首先确保你用另一台电脑是可以访问http://你的ip,然后再把vb打包之后的cab包和htm页放到iis的一个虚拟目录底下,然后到另一台电脑*问看看。如果部署成功的话应该有个安全提示。

#6


是的,比如我的IP是192.168.1.102我用IE打开时是Http://192.168.1.102/testweb/1.htm
这样在我本机上打开是可以的,我写的ActiveX控件能操作,能产生响应。就是说会返回IDStr给我。
但在另一台电脑上我这样打开时IDStr就返回不了。但我将此网页拷到这台返回不了IDStr的电脑直接点击运行就可以。
然后我按你所说打包了一个Cab而且放到了我的虚拟目录下,还是访问不了。192.168.1.102这台电脑是win2000+ie6

打得开返回不了IDStr属性的这台电脑是vista +ie7。