引言: 摘要:本文阐述了Windows环境下动态链接库的概念和特点,对静态调用和动态调用两种调用方式作出了比较,并给出了Delphi中应用动态链接库的实例。
摘要:delphi以其独特的面向控件的开发方式、强大的数据库功能、快速的编译技术以及简单易学的编程特性,使得它自发布之日起即格外引人注目,许多程序员也因此将它作为首选的开发工具。然而,delphi在科学计算、低端编程等方面的功能不如vc++。vc++功能强大、齐全,但是整个系统比较复杂、庞大,尤其对于初学者来说比较难学,其用户界面的开发远不如delphi那样方便、快捷。那么,我们能否将两者的优点结合起来......
摘要: 所谓动态选单是指选单项随着程序的操作变化而变化。现在,我们用delphi来实现这一功能,具体步骤如下:
1.首先,确定动态选单的数据来源,即要确定动态选单标题是来自windows的系统注册表,还是来自一个数据库,或者是来自一个子目录,主要由程序的功能而定。这里假设主窗口名为mainform,上面已有主选单,其动态选单的数据源是一个string类型的变量,名称为submenuitemso......
Delphi中动态链接库两种调用方式的比较 摘要:本文阐述了windows环境下动态链接库的概念与特点,对静态调用与动态调用两种调用方式作出了比较,并给出了delphi中应用动态链接库的实例.
【程序编程相关:
读取IE收藏夹内网址的信息】 【推荐阅读:
自制THyperLink组件】
一.动态链接库的概念 【扩展信息:
如何使dbgrid中不同的值显示不同颜色】
动态链接库(dynamic link library,缩写为dll)是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程与资源.动态链接库文件的扩展名一般是dll,也有可能是drv.sys与fon,它与可执行文件(exe)非常类似,区别在于dll中虽然包含了可执行代码却不能单独执行,而应由windows应用程序直接或间接调用.
动态链接是相对于静态链接而言的.所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分.换句话说,函数与过程的代码就在程序的exe文件中,该文件包含了运行时所需的全部代码.当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源.而动态链接所调用的函数代码并没有被拷贝到应用程序的可执行文件中去,而是仅仅在其中加入了所调用函数的描述信息(往往是一些重定位信息).仅当应用程序被装入内存开始运行时,在windows的管理下,才在应用程序与相应的dll之间建立链接关系.当要执行所调用dll中的函数时,根据链接产生的重定位信息,windows才转去执行dll中相应的函数代码.
一般情况下,如果一个应用程序使用了动态链接库,win32系统保证内存中只有dll的一份复制品,这是通过内存映射文件实现的.dll首先被调入win32系统的全局堆栈,然后映射到调用这个dll的进程地址空间.在win32系统中,每个进程拥有自己的32位线性地址空间,如果一个dll被多个进程调用,每个进程都会收到该dll的一份映像.与16位windows不同,在win32中dll可以看作是每个进程自己的代码.
二.动态链接库的优点
1. 共享代码.资源与数据
使用dll的主要目的就是为了共享代码,dll的代码可以被所有的windows应用程序共享.
2. 隐藏实现的细节
dll中的例程可以被应用程序访问,而应用程序并不知道这些例程的细节.
3. 拓展开发工具如delphi的功能
由于dll是与语言无关的,因此可以创建一个dll,被c++.vb或任何支持动态链接库的语言调用.这样如果一种语言存在不足,就可以通过访问另一种语言创建的dll来弥补.
三.动态链接库的实现方法
...
下一页 摘要:一、概述
在银行,税务,邮政等行业的实际工作中,经常涉及到在印刷好具有固定格式的汇款单,储蓄凭证,税票等单据上的确定位置打印输出相关的信息。在此类需求中,精确地定位单据并打印相关信息,是解决问题]的关键。一般情况下,开发者都是通过在打印机上通过重复的测试来达到实际需求。那么,有没有简单有效而又灵活的方法实现上述功能呢?
二、基本思路
分析上述单据的特征,可以发现:此类打印输......