网站首页  |  幼儿教育  |  中小学教育  |  电脑教育  |  英语教育  |  教育论文  |  家长教育 设为首页加入收藏联系投稿 
 位置: 中国教育学习网 > 电脑教育 > 程序设计 > PowerBuiler > 正文

OCX控件注册

字号:   

问:我写的系统中带了OCX控件,当系统编译后发行时必须带上该OCX控件,但在用户的机子上必须注册该OCX控件才能使用,否则程序运行会出错,请问用什么方法注册该OCX控件?</P><P>答:提供以下几种方法供参考:
   1、在Windows命令行或DOS下运行:regsvr32 ocxname.OCX
   2、用Install Shield 做安装程序时,在里面选“Self-Registered”,安装程序将自动注册。
   3、在PB程序中调用regsvr32实现,安装程序只需负责将OCX拷贝到相应路径下,这个路径PB程序必须可以得到,建议拷贝到Windows系统目录或者与执行文件同目录下。
   具体代码:
   //首先定义API函数,如果OCX控件在与执行文件同目录下,使用GetCurrentDirectory函数;如果OCX控件放在系统目录下,使用GetSystemDirectory函数。
   Function ulong GetCurrentDirectory(ulong nBufferLength,ref string lpBuffer) Library "kernel32.dll" Alias for "GetCurrentDirectoryA"
   Function uint GetSystemDirectory(ref string lpBuffer,uint uSize) Library "kernel32.dll" Alias for "GetSystemDirectoryA"
   //假设OCX文件在Windows系统目录下,在PB应用(Application)的Open事件编写如下代码:
   string ls_PathName,ls_Command
   ulong ll_RequiredBufferSize
   ls_PathName = Space(255)
   ll_RequiredBufferSize = GetSystemDirectory(ls_PathName,255)
   IF ll_RequiredBufferSize=0 or ll_RequiredBufferSize>255 THEN
   //报错信息
   else
     ls_Command = "Regsvr32 /s " + "~"" + ls_PathName + "\Myocx.ocx" + "~""
     Run (ls_Command)
     …
   End if
   Regsvr32后面的"/s"执行参数是为了隐藏注册成功消息框。
   (此种方法由张涛提供)
   4、在PB应用程序中注册:
   函数声明:
   Function long DllRegisterServer() Library "ocxname.OCX"
   调用:
   LONG ll_RC
   ll_RC = DllRegisterServer()
收藏此文  |  打印  

 
  • 上一篇教程:

  • 下一篇教程:

  •   GoogLe
     
      最新推荐
  • 此栏目下没有推荐教程

  •   最近更新

      GoogLe

     
    Powered by Cn-Education.Com (c) 2005-2008 中国教育学习网 教育网站长QQ交流群60041790
    设为首页  |  加入收藏  |  版权申明  |  广告服务  |  联系我们  |  友情链接  |  网站地图  |  返回顶部 ↑