`
manjingtou
  • 浏览: 118974 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

vb 控件开发笔记

    博客分类:
  • VB
阅读更多

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

 

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

 

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

<!--	如果这页上的任何控件需要授权,您必须
	创建一个授权包文件。 运行 LPK_TOOL.EXE 来创建
	要求的 LPK 文件。 LPK_TOOL.EXE 将从 ActiveX SDK 中找到,
	http://www.microsoft.com/intdev/sdk/sdk.htm. 如果您有 Visual
	Basic 6.0 CD, 您可以在\Tools\LPK_TOOL 目录下找到它。

	下面是对象标记的例子:

<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
	<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
</OBJECT>
-->

<OBJECT ID="test"
CLASSID="CLSID:7E0ED402-E1D4-4E40-95C2-FEA17B4FA60E"
CODEBASE="test.CAB#version=1,0,0,1">
</OBJECT>

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

 

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

 

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

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

 

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

 

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

<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
	<PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
</OBJECT>

 

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

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics