我的ACTIVEFORM已经下载到客户端了,为什么在网页上不显示?(100分)

  • 主题发起人 主题发起人 richard_din
  • 开始时间 开始时间
R

richard_din

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个ActiveForm ,本来已经搞定了,可是改了一下客户端程序后,把OCX文件和网页的版本号改了贴上去后,调试发现新版本是下载下来了,但网页上本来应该出现程序的地方是一片空白,请教是否有那个属性被改动了还是其他原因?
而且有个很奇怪的问题,通过socketconnection和clientdataset连接服务器端程序,
在开始时是好的,但在服务器上打开了一次activeform后,再用socketconnection和CLIENTDATASET连接时,socketconnection.connected是TRUE,CLIENTDATASET的ProviderName属性里面应该有很多可供选择的DatasetProvider一个都没有了,
但连接到我的电脑上的服务器端程序却是好的,请那位大大赐教一下.
 
听说ACtiveX在发布时要设很多参数的:在Object->Web deployment options下!
 
OCX Error !
 
但我重新写了个activeform还是一样啊,
CLIENTDATASET的ProviderName属性里面没有东西的问题解决了,我将一个MIDAS.DLL文件在
服务器上注册后就可以了。
 
listening。。。
 
在InterNet选项->安全->自定义级别里看看,运行ActiveX控件或组件是否启用?
也可以设置为默认级别,然后打开自定义级别里的相应功能。
如果开发 midas 请确保服务器端已运行“scktsrvr.exe”建议已服务方式运行它,在客户端安装 midas.dll 。

以下是我的OCX发布用的 INF 文件,对应 WorksheetAlarmProj.cab 文件。

;Delphi-generated INF file for WorksheetAlarmProj.ocx
;如果 WorksheetAlarmProj.ocx 版本更新 请将[WorksheetAlarmProj.ocx]下的fileversion也更新。
;请确保路径的正确性,http://后跟的是IP地址或服务器的名字,确保IP地址的正确性。
[Add.Code]
WorksheetAlarmProj.ocx=WorksheetAlarmProj.ocx
midas.dll=midas.dll
SetupWS.ini=SetupWS.ini

[WorksheetAlarmProj.ocx]
file=http://192.168.0.1/worksheetsvr/html/WorksheetAlarmProj.cab
clsid={43A1969A-7DAF-417B-8405-ADD281DF9CCA}
RegisterServer=yes
FileVersion=1,0,1,0

[midas.dll]
file=http://192.168.0.1/worksheetsvr/html/WorksheetAlarmProj.cab
DestDir=11
RegisterServer=yes
FileVersion=6,0,6,163

[SetupWS.ini]
file=http://192.168.0.1/worksheetsvr/bin/SetupWS.ini
DestDir=11

;--------------------文件结束。

我的网页如下。

<HTML>
<p>
现在是设置状态,完成后请关闭本页,下次运行时生效。
<HR><center><P>
<OBJECT
classid="clsid:43A1969A-7DAF-417B-8405-ADD281DF9CCA"
codebase="http:/134.34.49.139/worksheetsvr/html/SetupWorksheetAlarmProj.inf#verson=1.0.1.0"
width=630
height=424
align=center
hspace=0
vspace=0 id="SetupMe"
>
<param name="Visible" value="-1">
<param name="AutoScroll" value="0">
<param name="AutoSize" value="-1">
<param name="AxBorderStyle" value="1">
<param name="Caption" value="WorkSheetAlarm">
<param name="Color" value="2147483663">
<param name="Font" value="宋体">
<param name="KeyPreview" value="0">
<param name="PixelsPerInch" value="96">
<param name="PrintScale" value="1">
<param name="Scaled" value="-1">
<param name="DropTarget" value="0">
<param name="HelpFile" value>
<param name="DoubleBuffered" value="0">
<param name="Enabled" value="-1">
<param name="Cursor" value="0">
<param name="HelpType" value="0">
<param name="HelpKeyword" value>
<param name="isReadOnly" value="0">
<param name="isSetup" value="-1">
</OBJECT>
</HTML>
 
我开始时网页是可以打开的,我修改后就不行了,然后重新做服务器端和客户端都没用。
安全级别是最低级,运行ActiveX控件或组件启用
服务器端已运行“scktsrvr.exe”,客户端装有DELPHI5,
以下是我的OCX发布用的 INF 文件,对应 ClientFileProj.cab 文件。
;Delphi-generated INF file for ClientFileProj.ocx
[Add.Code]
ClientFileProj.ocx=ClientFileProj.ocx
midas.dll=midas.dll

[ClientFileProj.ocx]
file=http://192.9.200.8/editcb/fileflow/web/ClientFileProj.cab
clsid={1EF64257-9E8C-463F-BD0F-8AFA4B50A156}
RegisterServer=yes
FileVersion=1,0,3,0

[midas.dll]
file=http://192.9.200.8/editcb/fileflow/web/midas.cab
FileVersion=5,0,6,18

我的网页
<HTML>
<center><P>
<OBJECT
classid="clsid:1EF64257-9E8C-463F-BD0F-8AFA4B50A156"
codebase="http://192.9.200.8/editcb/fileflow/web/ClientFileProj.inf#version=1,0,3,0"
width=671
height=447
align=center
hspace=0
vspace=0
>
</OBJECT>
</HTML>
 
检测客户端的注册表,看.ocx是否注册,如果你在写ocx时选择了Make Control Licensed的话发布时要把对应的.lic文件一起发布不然即使客户端下载并注册了.ocx还是用不了的。
(还有在发布只要.ocx注册了就肯定可以用,即使不用IIS也可以,直接运行html就可以)
 
你可以这样试试:
首先,你发布你的最新activeform
在客户端打开IE: 工具-internet选项-常规-设置-查看对像:选中你的activeform对象,然后右击删除,这样下次客户端打开后,便要求重新下载注册了,
 
你的[midas.dll]里
DestDir=11
RegisterServer=yes
哪里去了。
 
不好意思,各位,这几天去的地方上网速度太慢了,一气之下就没有上网。
问题解决了,我重装了服务器,一切OK了,
说老实话,我也不知道怎么回事,总之现在问题解决了,等有空的时候慢慢研究一下看看。
现送上分,谢谢各位。
 
其实把下载的那个目录下的文件清空一遍就可以了。
 
后退
顶部