Delphi快速开发OCX步骤
2012-01-04 17:15
232 查看
找到一篇介绍制作OCX不错的文章
出处:http://blog.163.com/zhangzhifeng688@126/blog/static/1652627582010102342216692/
首先要弄明白你要写的OCX是用在客户端还是用在服务器端
假如用在客户端:
1、创建
打开delphi 7,选择菜单“new”->“other”->“activex”->“active form”->输入项目名称,
系统自动给你创建了3个文件,一个是项目文件,一个是form的单元文件,还有一个后缀带TLB
的文件。这三个文件中的你只需要更改form的单元文件,项目文件一般不需要写什么,TLB文件
有系统自动维护。
2、增加接口函数
所谓接口函数就是调用OCX的程序可以直接调用的函数,如果你要写的函数不提供
外部函数可以按常规声明就可以。但要声明接口函数则必须按步骤声明,有两种途径,其一:选择form
单元文件,然后点击“edit”->“add to interface”,弹出一个对话框,输入要声明的函数,如:function fun:integer;
其二:选择form单位文件,然后点击“view”->“Type Library”,弹出一个对话框,然后点击工具栏中“add a interface”
可以增加函数或过程。
说明:在这里注意几个地方,第一,一定要选form文件才可以,否则相应的菜单都是不可用的;第二、声明函数或
过程的参数类型要注意string->BSTR(第二种途径)或WideString(第一种途径)。
增加属性也函数类同。
3、调试
我是用html调试的,所以可用在delphi种配置run的参数
“run”->“parametes”,弹出一对话框,在“host application”中输入C:\Program Files\Internet Explorer\IEXPLORE.EXE,
在“parametes”中http://192.168.6.9/my.htm,这样就可以调试delphi代码了
4、发布
在没有build前,可以“project”->“web deployment”中配置(主要输入ocx的地址和web服务器的url),然后可以“web deploy”发布,
其实就是生成了一个htm文件,不过该文件里包含了调用方法而已。但是delphi好像至运行执行一次,发布后这两个菜单就不可用了,
甚至刚开始我不知道,直接编译了,编译后该菜单也不可用了。
说明:如果没有用“web deploy”发布,而想在网页中调用的,就要知道该ocx的GUID,可以在TLB文件中找,CLASS_XXX后面的就是,
这一点也需要注意。
5、数字签名
要想网页能够顺利使用ocx,就需要数字签名,否则IE直接就给干掉了,当然IE安全级调低除外。关于生成测试数字签名的方法,网上很多。
我想要说得是,测试数字证书只能用在win2000系统,用在XP,特别是打了补丁的XP,根本不行。
另外也可以参考《使用Delphi快速开发ActiveX控件》这篇文章
如果用在服务器端:
其实应该是COM组件了吧,asp的调用方式是
<%
set obj=Server.CreateObject("DelphiCom.Test2")
%>
1、创建
打开delphi 7,选择菜单“new”->“other”->“activex”->“active libray”生成一个项目,然后再
“new”->“other”->“activex”->“automation object”,然后参照上面增加接口函数,就可以。不过编译出来是个dll,但是是可以注册的dll。
“automation object”也可以换成“com object”,但两者是有区别的,具体可以网上查询。
问题出现在delphi+ie8不停断点,网上搜了一下,遇上这个问题的还真有。
怎么办?
regedit→ HKEY_LOCAL_MACHINE→ HKEY_LOCAL_MACHINE →SOFTWARE→Microsoft → Internet Explorer→Main。在Main里新建一个DWORD类型名为TabProcGrowth值为0。
如不能调试,可以尝试重新点击注册,或者重启delphi试试
出处:http://blog.163.com/zhangzhifeng688@126/blog/static/1652627582010102342216692/
首先要弄明白你要写的OCX是用在客户端还是用在服务器端
假如用在客户端:
1、创建
打开delphi 7,选择菜单“new”->“other”->“activex”->“active form”->输入项目名称,
系统自动给你创建了3个文件,一个是项目文件,一个是form的单元文件,还有一个后缀带TLB
的文件。这三个文件中的你只需要更改form的单元文件,项目文件一般不需要写什么,TLB文件
有系统自动维护。
2、增加接口函数
所谓接口函数就是调用OCX的程序可以直接调用的函数,如果你要写的函数不提供
外部函数可以按常规声明就可以。但要声明接口函数则必须按步骤声明,有两种途径,其一:选择form
单元文件,然后点击“edit”->“add to interface”,弹出一个对话框,输入要声明的函数,如:function fun:integer;
其二:选择form单位文件,然后点击“view”->“Type Library”,弹出一个对话框,然后点击工具栏中“add a interface”
可以增加函数或过程。
说明:在这里注意几个地方,第一,一定要选form文件才可以,否则相应的菜单都是不可用的;第二、声明函数或
过程的参数类型要注意string->BSTR(第二种途径)或WideString(第一种途径)。
增加属性也函数类同。
3、调试
我是用html调试的,所以可用在delphi种配置run的参数
“run”->“parametes”,弹出一对话框,在“host application”中输入C:\Program Files\Internet Explorer\IEXPLORE.EXE,
在“parametes”中http://192.168.6.9/my.htm,这样就可以调试delphi代码了
4、发布
在没有build前,可以“project”->“web deployment”中配置(主要输入ocx的地址和web服务器的url),然后可以“web deploy”发布,
其实就是生成了一个htm文件,不过该文件里包含了调用方法而已。但是delphi好像至运行执行一次,发布后这两个菜单就不可用了,
甚至刚开始我不知道,直接编译了,编译后该菜单也不可用了。
说明:如果没有用“web deploy”发布,而想在网页中调用的,就要知道该ocx的GUID,可以在TLB文件中找,CLASS_XXX后面的就是,
这一点也需要注意。
5、数字签名
要想网页能够顺利使用ocx,就需要数字签名,否则IE直接就给干掉了,当然IE安全级调低除外。关于生成测试数字签名的方法,网上很多。
我想要说得是,测试数字证书只能用在win2000系统,用在XP,特别是打了补丁的XP,根本不行。
另外也可以参考《使用Delphi快速开发ActiveX控件》这篇文章
如果用在服务器端:
其实应该是COM组件了吧,asp的调用方式是
<%
set obj=Server.CreateObject("DelphiCom.Test2")
%>
1、创建
打开delphi 7,选择菜单“new”->“other”->“activex”->“active libray”生成一个项目,然后再
“new”->“other”->“activex”->“automation object”,然后参照上面增加接口函数,就可以。不过编译出来是个dll,但是是可以注册的dll。
“automation object”也可以换成“com object”,但两者是有区别的,具体可以网上查询。
问题出现在delphi+ie8不停断点,网上搜了一下,遇上这个问题的还真有。
怎么办?
regedit→ HKEY_LOCAL_MACHINE→ HKEY_LOCAL_MACHINE →SOFTWARE→Microsoft → Internet Explorer→Main。在Main里新建一个DWORD类型名为TabProcGrowth值为0。
如不能调试,可以尝试重新点击注册,或者重启delphi试试
相关文章推荐
- Delphi开发OCX详细步骤总结
- Delphi开发人员指南 第一部份快速开发的基础 第2章 Object Pascal 语言(一)
- SNF快速开发平台MVC-EasyUI3.9之-ueditor富文本编辑在 asp.net MVC下使用步骤
- [置顶] 安卓开发工具快速配置环境变量--jdk安装步骤及配置环境变量、Android Studio、Eclipse配置环境变量
- Delphi快速开发建模(金融集成开发人员培训教材之一)
- Delphi开发人员指南 第一部份快速开发的基础 第2章 Object Pascal 语言(一)
- Delphi开发人员指南 第一部份快速开发的基础 第2章 Object Pascal 语言(三)
- 让普通业余软件开发兴趣爱好者也快速开发出相对专业的软件产品 - 通过实战开发讲解实现步骤
- 三步骤快速开发 iOS资讯类App
- 使用Delphi快速开发ActiveX控件
- Delphi 10.2 Linux 程序开发环境部署的基本步骤(网络连接方式要选择桥接或者是Host Only)
- 用DELPHI开发OCX(转)
- Delphi 编写ActiveX控件(OCX控件)的知识和样例(有详细步骤)
- Delphi开发ocx插件的调试
- 三层终于解决事务问题了。如果delphi由于种种原因在没落,不知道以后需要快速开发用什么工具最妥当了
- 使用Delphi快速开发ActiveX控件
- Delphi 编写ActiveForm窗体工程知识和样例(开发浏览器客户端应用程序)(有详细步骤)
- 使用Delphi快速开发ActiveX控件
- Delphi开发人员指南 第一部份快速开发的基础 第1章 Delphi下的Windows编程(四)
- 快速软件开发的五个步骤