zoukankan      html  css  js  c++  java
  • 做delphi控件的笔记

    首先要弄明白你要写的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”,但两者是有区别的,具体可以网上查询。

    其它就不写了,希望能和各位交流。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/czx33859066/archive/2010/07/26/5766948.aspx

    首先要弄明白你要写的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”,但两者是有区别的,具体可以网上查询。

    其它就不写了,希望能和各位交流。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/czx33859066/archive/2010/07/26/5766948.aspx

  • 相关阅读:
    Haskell Interactive Development in Emacs
    Access Java API in Groovy Script
    手工设置Eclipse文本编辑器的配色
    Color Theme of Emacs
    Gnucash的投资记录
    Special Forms and Syntax Sugars in Clojure
    Use w3m as Web Browser
    SSE指令集加速之 I420转BGR24
    【图像处理】 增加程序速度的方法
    TBB 入门笔记
  • 原文地址:https://www.cnblogs.com/moonvan/p/1796494.html
Copyright © 2011-2022 走看看