首先要弄明白你要写的OCX是用在客户端还是用在服务器端   

假如用在客户端:

1、创建 

打开delphi 7,选择菜单"new"->"other"->"activex"->"active form"->输入项目名称,   系统自动给你创建了3个文件,一个是项目文件,一个是form的单元文件,还有一个后缀带TLB   的文件。这三个文件中的你只需要更改form的单元文件,项目文件一般不需要写什么,TLB文件   有系统自动维护。

 2、增加接口函数 

所谓接口函数就是调用OCX的程序可以直接调用的函数,如果你要写的函数不提供   外部函数可以按常规声明就可以。但要声明接口函数则必须按步骤声明,

①选择form单位文件(一定要选form文件才可以,否则相应的菜单都是不可用的),然后点击"view"->"Type Library",弹出一个对话框,

②然后选择左侧树状图第一个节点——鼠标右键——New——Method

③修改方法名称,如图所示:

④切换到"Parameters"标签,输入方法参数。

注意:如果参数是string类型,则选择BSTR。如果参数是输入参数,则modifier选择in,

如果是输出参数,则Modifier选out,如果是作为函数返回值,则Modifier选out和refVal

输出参数和函数返回值,Type必须为指针类型 (即:类型 *)

⑤点工具栏的刷新按钮,就会自动更新单元文件代码

如下图,自动生成了function LSBH_LOGIN(const WIN_NO, WORK_NO: WideString): WideString;

safecall;

⑥在自动生成的函数体中写实现代码即可。

3、ocx的注册和卸载。

注册:regsvr32 usQueueOcx.ocx

卸载:regsvr32 /u usQueueOcx.ocx

4、编写html调用ocx (示范文件:testQueue.html)

建议使用Editplus来编写html。

①在Editplus——文件——新建——html网页。

②点工具栏上的对象按钮,选择注册的ocx对象,则html中自动插入对象。

也可以手动插入object对象,代码如下:

<object id="TusQueue" width="0" height="0" classid="CLSID:2FE52D49-D1E2-44C4-AE30-D35BAB691F21"></object>

说明:对象id一般命名和ocx的类名称一致,classid的值可以在ocx代码中搜索classid得到。如下图

5、调试OCX。

我是用html调试的,所以可用在delphi种配置run的参数   "run"->"parametes",弹出一对话框,在"host application"中输入C:\Program Files\Internet Explorer\IEXPLORE.EXE,

在"parametes"中 html文件路径 ,点【OK】按钮。如下图

这样就可以调试delphi代码了。F9运行OCX代码,自动启动parametes设定的浏览器打开调试html,可以设置断点来调试了。

注意:如果是IE8,则会出现无法进入断点的情况。

解决方法: 修改注册表

regedit→ HKEY_LOCAL_MACHINE →SOFTWARE→Microsoft →   Internet Explorer→Main。在Main里新建一个DWORD类型名为TabProcGrowth值为0。

另一种解决方法:delphi7的ocx对应的tlb文件顶部有一个{$VARPROPSETTER ON},把这个开关去掉重新编译注册就可以了

源码下载:http://download.csdn.net/detail/tc310/9114805

Delphi开发OCX详细步骤总结的更多相关文章

  1. Delphi开发ocx插件的调试

    Delphi开发ocx苦于调试,网上看了下大概配置: IE调用ocx调试配置,在当前ocx工程  run-->parameters-->host application 里面配置IE的程序 ...

  2. 用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

    用grunt搭建自动化的web前端开发环境实战教程(详细步骤) jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用!前端自动化, ...

  3. unity导出工程导入到iOS原生工程中详细步骤

    一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...

  4. VS2012+Win7网站发布详细步骤

    VS2012+Win7网站发布详细步骤 本机环境: 本文分三个部分介绍Web项目发布的常规方法,大神级别可以略过,主要是为了方便一些初学者. 第一部分:VS2012把项目发布到文件系统. 第二部分:I ...

  5. iOS开发之 xcode6 APP 打包提交审核详细步骤

    一. 在xcode6.1和ios10.10.1环境下实现app发布 http://blog.csdn.net/mad1989/article/details/8167529 http://jingya ...

  6. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  7. (转载)Delphi开发经验谈

    Delphi开发经验谈 开发环境-------- Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件. ...

  8. Linux Makefile文件编写详细步骤与实践

    Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...

  9. JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)

    链接地址:http://www.cnblogs.com/dartagnan/archive/2011/03/25/2003426.html JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apa ...

随机推荐

  1. ES6环境搭建及react-router学习

    一.起因 ES6新纳入了很多振奋人心的新特性,真的很让人忍不住去尝试一下.不过,由于现在大部分的浏览器对ES6的支持程度都不是很好.所以如果想要放心地使用一些新特性,还需要用一些工具,将ES6或者ES ...

  2. MIME列表

    .asx,video/x-ms-asf.xml,text/xml.tsv,text/tab-separated-values.ra,audio/x-pn-realaudio.sv4crc,applic ...

  3. bzoj 3530: [Sdoi2014]数数

    #include<cstdio> #include<iostream> #include<cstring> #define M 1509 #define MO 10 ...

  4. 过滤eWebeditor等富文本中html标签,获得纯文本信息

    /// <summary> /// 过滤html标签 /// </summary> /// <param name="Htmlstring">& ...

  5. delphi控件属性大全-详解-简介

    http://blog.csdn.net/u011096030/article/details/18716713 button 组件: CAPTION 属性 :用于在按钮上显示文本内容 Cancel ...

  6. 推荐几本 Javascript 书籍

          初级读物: <JavaScript高级程序设计>:一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买. <J ...

  7. Linux学习之六——使用vi和vim

    一.vi的三种模式和相互切换 1. 一般模式 1) 移动光标 可以用箭头键,Page Up, Page Down, Home,End等按键移动光标 G,移动到档案最后一行 1G,gg,移动到档案第一行 ...

  8. extjs表格下的分页条——Ext.grid.Panel 的 pagingtoolbar

    两种分页条:每页固定条数的分页条 和 自定义选择每页内容条数的分页条 一.每页固定条数的分页条 这种样式的-- dockedItems: [{ xtype: 'pagingtoolbar', stor ...

  9. 腾讯WEB前端开发三轮面试经历及面试题

    [一面]~=110分钟  2013/04/24 11:20  星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理        延 ...

  10. DHCP服务详解

    DHCP概念和原理 dhcp服务作用 为大量客户机自动分配地址,提供集中管理 减轻管理和维护成本,提高网络配置效率 可分配的地址信息主要包括: 网卡的IP地址.子网掩码 对应的网络地址 默认网关地址 ...