当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 根据Delphi提供的有关 DLL编写和调用的帮助信息,你可以很快完成一般的 DLL编写和调用的 应用程序。
 

 

 ·delphi趣味编程实例三则    »显示摘要«
    摘要:  隐藏任务栏屏蔽热键   在自己的程序中将任务栏隐藏起来,并屏蔽ctrl+alt+del和alt+tab等系统热键,也是很有趣的。要实现它们比较容易,但千万别忘了恢复正常,另外,本例中使用了3个api函数:findwindow、showwindow和systemparametersinfo,在使用它们之前一定要进行申明。   implementation   var hwnd:t......
 ·delphi环境中组件的创建技巧    »显示摘要«
    摘要:一、创建组件   从应用程序员的角度,即从某些使用组件去创建应用程序的人的角度看,组件是你能从组件板上选取,作为正在开发的应用程序的一部分,并编写事件处理代码使之成为专用。对一个组件开发者,delphi组件是一个直接地或间接地从tcomponent派生的对象pascal类。   用delphi成功地开发和综合专用组件的关键是,它能够服从界面的各种需要和习惯以及delphi环境所期望组件的行......


Delphi中高级DLL的编写和调用
根据delphi提供的有关 dll编写与调用的帮助信息,你可以很快完成一般的 dll编写与调用的 应用程序.本文介绍的主题是如何编写与调用能够传递各种参数(包括对象实例)的 dll.例如, 主叫程序传递给 dll一个adoconnection 对象示例作为参数, dll中的函数与过程调用通过该对象 实例访问数据库.

【程序编程相关:TChart使用经验小结

【推荐阅读:再发:发现一个 Delphi6 VCL

需要明确一些基本概念.对于 dll,需要在主程序中包含 exports子句,用于向外界提供调用 接口,子句中就是一系列函数或过程的名字.对于主叫方(调用 dll的应用程序或其它的 dll), 则需要在调用之前进行外部声明,即external保留字指示的声明.这些是编写 dll与调用 dll必须 具备的要素. 【扩展信息:ADO Command 命令的执行

另外需要了解object pascal 中有关调用协议的内容.在object pascal 中,对于过程与函数 有以下五种调用协议:

指示字 参数传递顺序 参数清除者 参数是否使用寄存器

register 自左向右 被调例程 是

pascal 自左向右 被调例程 否

cdecl 自右向左 调用者 否

stdcall 自右向左 被调例程 否

safecall 自右向左 被调例程 否

这里的指示字就是在声明函数或过程时附加在例程标题之后的保留字,默认为register,即是 唯一使用 cpu寄存器的参数传递方式,也是传递速度最快的方式;

pascal: 调用协议仅用于向后兼容,即向旧的版本兼容;

cdecl: 多用于 c与 c++语言编写的例程,也用于需要由调用者清除参数的例程;

stdcall: 与safecall主要用于调用windows api 函数;其中safecall还用于双重接口.

在本例中,将使用调用协议cdecl ,因为被调用的 dll中,使用的数据库连接是由主叫方传递 得到的,并且需要由主叫方处理连接的关闭与销毁.

下面是 dll完整源程序与主叫程序完整源程序.包括以下四个文件:

project1.dpr {主叫程序}

unit1.pas {主叫程序单元}

project2.dpr {dll}


...   下一页
 ·delphi中对oracle存取rtf文档    »显示摘要«
    摘要: 关系数据库都提供大文档的存储和提取。对于视频资料、音频资料、图象资料等大文档,一般需要 另外开辟字段用于存储摘要信息,因此在查询和检索时并不访问大字段,而只是在存储和提取时才操作 大字段。例如,你不能对oracle中的long raw类型进行like介词的查询,更不能使用等号“ =”查询。 这对于存储大段文本(容量超过2k)同时又需要全文检索是相当不便的。本文将介绍如何利用数据库的 字符串数据类......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE