Jason ---分享,共同进步

激情成就梦想,努力创造未来
随笔 - 53, 文章 - 1, 评论 - 45, 引用 - 0
数据加载中……

vb控件开发随笔

项目需要使用一些本地控件,所以这几天又折腾把以前的vb拿出来,做一个空间的例子。vb制作控件很简单,这里也不再多说,我开发的控件名称叫做test.ocx发布好,会生成相应的test.cab和test.hmtl测试页面。

 

我要把这个控件发布的web工程中

 

1,首先复制cab到web目录下,然后再页面中添加控件信息,如下图,

Html代码 复制代码
  1. <!-- 如果这页上的任何控件需要授权,您必须   
  2.     创建一个授权包文件。 运行 LPK_TOOL.EXE 来创建   
  3.     要求的 LPK 文件。 LPK_TOOL.EXE 将从 ActiveX SDK 中找到,   
  4.     http://www.microsoft.com/intdev/sdk/sdk.htm. 如果您有 Visual   
  5.     Basic 6.0 CD, 您可以在\Tools\LPK_TOOL 目录下找到它。   
  6.   
  7.     下面是对象标记的例子:   
  8.   
  9. <OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">  
  10.     <PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">  
  11. </OBJECT>  
  12. -->  
  13.   
  14. <OBJECT ID="test"  
  15. CLASSID="CLSID:7E0ED402-E1D4-4E40-95C2-FEA17B4FA60E"  
  16. CODEBASE="test.CAB#version=1,0,0,1">  
  17. </OBJECT>  

 其中上面注释掉的lpk这段根据他的描述生成了相应的lpk文件,将代码放到jsp页面中,部署。

 

2,部署后查看测试效果,但是效果不尽如人意,提示“非安全控件”而且也无法安装,这是由于控件没有认证,认证还是需要花钱的,自然不行。

 

3,只能通过本地注册控件的方式,这样就不需要ie的认证,但是控件提示的信息也是“无法识别的控件”。

4,使用installshield9来制作客户端注册包,具体的不说了只要注意一个个问题。注册控件的脚步

 

C代码 复制代码
  1. function OnEnd()     
  2.     string szDLL, szReg, szCmd;    
  3. begin      
  4.     szReg = WINSYSDIR ^ "regsvr32.exe";   
  5.     szDLL = TARGETDIR ^ "test.ocx"//如果是MSI工程,可以用INSTALLDIR代替TARGETDIR   
  6.     szCmd = "/s \"" + szDLL + "\""//增加静默参数s, 增加 \” 防止目录路径含空格的情况。     
  7.        
  8.     if (!REMOVEONLY) then    
  9.         LaunchAppAndWait(szReg, szCmd, WAIT);        
  10.     endif;       
  11. end;  

 

这样注册后,客户端使用就不会有提示,我上面提到了,我自己生成了lpk文件,我也加到页面中了。

Html代码 复制代码
  1. <OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">  
  2.     <PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">  
  3. </OBJECT>  

 

但是如果加这句虽然控件可以使用,但是总会有安全提示,很影响使用效果。所以暂时把它去掉了。

posted on 2012-02-29 09:03 agun 阅读(344) 评论(0)  编辑  收藏 所属分类: 其他


只有注册用户登录后才能发表评论。


网站导航: