`
loven_11
  • 浏览: 58092 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

VB6.0 开发的ocx应用于Web、C#桌面应用程序 的摸索.

    博客分类:
  • VB
阅读更多

前言: 近两周被分到一个GIS项目组,本来以为可以好好接触下GIS项目的开发,但是没想到竟然碰到个恶心的需求,要将其中一个属性页面抽取出来,使用VB做成一个可视化的ocx插件,应用到系统中. 悲哀的项目,杯具的客户需求,我可悲命运.

 

首先声明,本人一没做过vb的项目,二无任何关于注册ocx的经验,三无C#桌面应用开发的经验. 基本上从零开始,但是得到了身边几位同事的指导,基本上把这一连串的内容都组装起来了,感觉还可以,但是哪天某位仁人路过,有啥更好的想法,尽管提啊,欢迎指教.

 

转入正题,就从我摸索的过程中总结起了啊,有些繁琐.

   开发内容简述:

       1. 创建一个OCX工程。需求为,做一个数据列表。(够简单吧? 主要内容不是VB的开发)

       2. 编译生成一个ocx,分别能在网页中调用与C#桌面应用中使用。

 

  详细步骤如下:

       1. 工程开发如下:

            (1)、创建一个ActiveX 控件工程;

            (2)、将ListView控件添加到控制面板(选择菜单栏中“工程”-> "引用" -> "Microsoft XML, V6.0"、“工程”-> "部件" -> "Microsoft windows Common Controls 6.0"),并且拖一个到UserControl对象上,选择当前Listview对象,在属性框中“通用”->"查看"中选择"3 - lvwReport"

            (3)、这一步比较繁琐,就是添加几个事件,UserControl的resize事件与添加一个按钮已经他的测试事件

       备注:此处我是启动了一个tomcat服务,将一个xml文件放入其中,然后将服务器Url指向了这个文件,最后解析成一到ListView上的。我的vb工程以及服务器上放置的xml文件参见附件("VB工程以及一个xml文件,内部包含readme详细说明.rar")。

  

       2. Ocx制作与web发布:

           (1)、点击菜单栏 “文件”-> "生成xxx.ocx". 到这一步其实已经有了ocx,如果是本地测试使用的话,直接在命令行下"regsvr32 你的ocx路径",就可以注册

           (2)、将ocx发布到服务器上,在客户端是需要注册的,并且需要将当前服务站点加为信任站点。首先,利用vb自带的打包工具将工程使用到附加dll或者ocx抽取出来。点击菜单栏“外接程序”-> "外接程序管理器" -> 选择最后一项"打包与展开向导"->点击确定(如果已经设置过,此步骤可以pass);再点击菜单栏“外接程序”->"打包与展开向导",就可以调出打包界面, 其中有一是设置包的类型,选择"Internet 软件包"。最后会在你选择生成的路径中看到一个CAB包、html测试页面以及一个support文件夹。下面进入到这个文件夹,新建两个文件分别命名为“setup.bat”,“setup.reg”,添加以下类似内容:(根据自己实际参数填写)

//setup.bat文件内容如下:

@echo off
taskkill /f /im iexplore.exe

copy ocx_gis_property.ocx %windir%\system32\ocx_gis_property.ocx
regsvr32 %windir%\system32\ocx_gis_property.ocx "-u" "-s"
regsvr32 %windir%\system32\ocx_gis_property.ocx

regsvr32 %windir%\system32\ocx_gis_property_view.ocx "-u" "-s"
regsvr32 %windir%\system32\ocx_gis_property_view.ocx

setup.reg

exit



//setup.reg   (10.20.3.131修改成自己的IP,这个内容主要是开发窗口弹出,添加某个ip站点为新任站点)
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range9]
":Range"="10.20.3.131"
"http"=dword:00000002

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
"1004"=dword:00000000
"1201"=dword:00000000
"CurrentLevel"=dword:00000000

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\New Windows]
"PopupMgr"="yes"

        (3)、web发布准备工作好后,需要将support下的dll、ocx以及新建的两个文件用winrar压缩成一个自解压格式的exe包,详细教程参见http://zhidao.baidu.com/question/79832407.html (注意:需要将setup.bat添加到解压后直接里面)。现在可以发布了,将之前打包提到的那个测试的html里面的Object对象的CLASSID的键值取出来,用来替换掉你的调用页面中CLASSID的值。我的vb工程抽取的内容参见附件“vb自带的cab包制作的package.rar”,在support目录包含了一个以及制作好的自解压auto_register.exe文件。  将“web服务上调用示例.rar”文件解压到一个tomcat容器的webapp/root下即可,访问时需要使用你setup.reg中注册信任站的ip 譬如我的是http://10.20.3.131:8080/ocx_test/XXXX.htm

 

 

    3. 在C#桌面应用程序中使用可视化的ocx(其实用vb开发ocx再使用在C#中有点脱裤子放屁了,没办法我是被别人脱下裤子要我放,我还不放干嘛呢)。

       (1)、引入ocx插件到工程。这个摸索了良久,主要还是对visual 开发的不熟悉造成的. 首先需要将ocx插件注册到本地, 我比较土,还是用的"regsvr32 ocx路径"执行一下,然后右击"工具栏"->选择"选择项(I)",会弹出工具箱项选择框,切换到"COM组件"tab页下,选择你刚才注册的ocx(太多的话,根据路径排序下再找看看).添加成功的话,左边会出现你刚才添加ocx控件,拖到你设计界面上,设置下就可以了.如果你直接用我开发的这个vb的OCX demo的话,在使用的时候,记得看下readme文件,设置好weburl等等参数,否则无法正常调用的。

       (2)、如果本地运行没问题话,就可以直接发布了。详细的安装包制作过程参照下这个吧“http://developer.51cto.com/art/200908/144459.htm”,图形化介绍,试了一次就出来了。

 

 

 

 

哎~~~  写了良久,做个记录以后自己再回头看看,要是各位看的不明白,或者写的太easy,那就把它当成个屁放掉吧~~~

呵呵。(靠找分类,不知道该放在哪了,随便放一个 到JavaEye了)

   

 

朋友的网站 http://woods2010.cn.alibaba.com/ 专业电子器件代购

分享到:
评论
1 楼 wilhard 2016-03-22  
开发一个函数,在html中js调用应该怎么搞

相关推荐

    VB6.0源码_FTDI转I2C.zip

    VB6.0源码调用ftd2xx.dll实现I2C通讯,将正常模式转换为I2C模式,进行通讯,需要C#源码的朋友可以将VB转C#,附件中提供在线转换网址,另外附件中包含VB常遇见的注册COMDLG32.OCX问题的解决方法

    PDF浏览控件和实例PDFViewOCX(可用在VB6,C#)

    PDF浏览控件和实例PDFViewOCX(可用在VB6,C#)

    打印条形码控件,安装后可集成到VB C#等源码中

    打印条形码控件,安装后可集成到VB C#等源码中 打印条形码动态库

    短信二次开发控件

    要使自己的应用软件拥有短信收发功能,如全部从底层开发做起要... 目前版本的开发包还提供了用VB6.0、VC6.0、PB8.0、C#和Delphi7.0写成的利用短信控件收发短信的例程。 http://www.smsworld.com.cn tel:010-82356670

    VB矢量绘图控件Vecad6.1

    VeCAD是一个2D/3D矢量绘图库。...VB矢量绘图控件Vecad6.1,带注册码,这个是真正的6.1版本的,网上其它网站提供的所谓6.1其实是6.0版本,据我所知求面积命令就有BUG 我的QQ:61902475,有问题可与我交流

    BarTender ActiveX接口开发文档

    全球领先的条码打印软件 BarTender 适用于 BarTender 企业版 7.0以上版本 适用于 Visual Basic 6.0, VB.NET, C#,

    超市管理系统

    您需要安装 MS SQL ...2) 前台程序不是我开发的,是一个刚学习VB的同学开发的。我个人建议前台不用去看了,没有值得花费时间的地方。 3) 进入“后台管理”目录,先注册 XPMenu.ocx,否则代码运行时会发生错误哟。

    SOFTWELL车牌识别系统软件

    本公司主要从事车牌识别算法开发,在车牌识别这行有一定知名度,有成熟的标清车牌识别源代码出售,并附源代码文档说明及VC++、BCB、VB、Delphi、C#等开发包。在市场有五年应用成功案例,代码具有极高商业价值。 源...

Global site tag (gtag.js) - Google Analytics