• Delphi开发OCX详细步骤总结


         

      首先要弄明白你要写的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 FilesInternet ExplorerIEXPLORE.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

  • 相关阅读:
    Linux 进程退出后自动启动
    Python UDP broadcast PermissionError: [Errno 13] Permission denied
    C# 获取MAC地址
    C# 多线程
    C# UdpClient 设置超时时间
    C# 控件聚焦
    C# 添加图片资源
    C# Listview 第一列不能居中
    Ubuntu 14.04 AM335x TI-RTOS 编译
    为AM335x移植Linux内核主线代码
  • 原文地址:https://www.cnblogs.com/tc310/p/4816590.html
Copyright © 2020-2023  润新知