知识大全 经典案例 财务管理系统(8)[1]

Posted

篇首语:宝剑锋从磨砺出,梅花香自苦寒来。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 经典案例 财务管理系统(8)[1]相关的知识,希望对你有一定的参考价值。

    ——此文章摘自《Delphi 数据库开发经典案例解析》定价 ¥  特价 ¥  购买>>

  在前面的章节中 无论我们的程序是多文档还是多窗口结构 使用到的窗体都是预先定义好 并在编写程序时就加载到了工程文件之中的 在这里我们将要用到DLL DLL是Dynamic Link Libraries(动态链接库)的缩写 它包含代码 数据和资源 可以被其他程序共享 使用DLL应用程序能够在程序运行期间动态地调入代码 而不是在编译期间静态地链接代码 可以认为DLL和EXE基本上是一回事 只是DLL不能直接执行 而必须由应用程序或者其他DLL调用 DLL为应用程序间的资源共享提供了方便 同时也是多语言混合编程的重要手段 由此可见学习使用DLL是Windows程序员必须掌握的一项重要技术

  使用DLL从效果上看很像使用单元(Unit) 因为程序员可以在一个程序模块中调用别的Unit中声明且定义的过程 函数 甚至变量 如果一个程序模块中用uses语句应用别的Unit 那么编译程序在编译该模块时便会连同被调用的Unit一同编译 并且把编译后得到的课执行文件连接到本模块的可执行文件上 即编译后的一个工程Project只有一个可执行文件 但是可以包含多个单元的执行代码 当Unit被多个Project所引用 则它的执行代码将会出现在多个Project的可执行代码中 如果多个Project同时运行 那么Unit的代码会随着Project多次被调入内存 内存资源被多个重复的代码段所占用 既浪费空间 又影响程序的允许速度 用DLL就可以解决这个问题 DLL被某个可project编译后仍然是独立的 当多个project调用某个dll文件时 只有第一个调用dll的project才把DLL的执行代码调入内存 其他的Project并不把Dll调入而是增加其引用次数 并与第一个Project一起共享某个DLL的执行代码

  例如 在本章中我们将设计一个DLL 它本身有一个窗体 在外部程序调用它时 依靠外部变量输入的变量来判断调用数据库中的哪个表 并有一个函数负责返回双击某数据栏后该数据栏的内容 使用这个DLL 我们可以在程序中通过调用它来浏览财务管理数据库中的任何一个表 并可以通过双击来选择某一栏的内容 读者可以在读完本节后回顾前面三章中我们如何处理类似的任务 例如在第 章中进货单和销售单对于双击选择商品名称 编号的处理 再和本节中的处理方法加以比较 就可以看到DLL的巨大作用

  至于DLL更深层次的问题 不属于本书的讨论范围 这里不再叙述

  在本章中 我们用到的DLL非常简单 我们使用它的目的在于向读者介绍这样一种方法 其功能完全可以单独建立一个MDI子窗体来替代 在以后的章节中我们将越来越多地用到这些高级技术

  ( ) 首先重新打开Delphi 选择File | New | Other 在弹出的窗口中的New选项卡中选择DLL Wizard并单击OK 如图 所示 将建立一个新的工程

  ( ) 将这个新的工程保存为sec dpr 再新建一个窗体(Form) 将其Name属性改为dllSec 并保存该窗体文件为dllForm pas 查看工程的代码 可以看到如下程序

  library sec;

  uses

  SysUtils

  Classes

  //此处是加入工程的unitdllSec是该UnitNamedllForm是该Unit保存的文件名

  dllForm in dllForm pas dllSec;

  $R * res

  exports

  //这是将要输出供外部调用的函数

  showdllform index ;

  begin

  end

  图 建立DLL工程文件

  ( ) 在新建的Form放置如图 所示的控件

  图 将在dll调用的窗体

  该窗体的控件设置如表 所示

  表 主窗体属性设置

[ ]  [ ]  

cha138/Article/program/Delphi/201311/25025

相关参考

知识大全 经典案例 财务管理系统(2)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  财务管理作为企业管理的组成部分与经济价值或财富的保值增值有关

知识大全 经典案例 财务管理系统(12)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //修改记录  procedureTDocuInputToo

知识大全 经典案例 财务管理系统(15)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  //修改记录  procedureTDocuInputToo

知识大全 经典案例 财务管理系统(1)

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>项目背景  天津丰源汽车连锁服务有限公司成立于年由最初从事汽车及

知识大全 经典案例 财务管理系统(9)[1]

     ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>> 新建一个窗体将窗体的Name属性设置为SecSettingC

知识大全 经典案例 财务管理系统(13)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  完成帐户设置功能  ()新建一个窗体将窗体的Name属性设置

知识大全 经典案例 财务管理系统(10)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  完成帐户设置功能  ()新建一个窗体将窗体的Name属性设置

知识大全 经典案例 财务管理系统(7)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  ()利用系统默认生成的窗体作为主窗体并为其添加主菜单控件和其

知识大全 经典案例 财务管理系统(11)[1]

  ()新建一个窗体将窗体的Name属性设置为DocuInput选择Project|Options菜单命令将DocuInp窗体从自动创建的窗体列表中删除将窗体保存为DocuInputFormpas该窗

知识大全 经典案例 财务管理系统(14)[1]

  完成凭证输入功能  ()新建一个窗体将窗体的Name属性设置为DocuInput选择Project|Options菜单命令将DocuInp窗体从自动创建的窗体列表中删除将窗体保存为DocuInpu