当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 这是阿亮第一次写文章,有不正确的地方,欢迎讨论指正。
 

 

    摘要: library dbinstall;{ important note about dll memory management: sharemem must be the first unit in your librarys uses clause and your projects (select project-view source) uses clause if your dll exp......
    摘要: unit yaohaoqiu;interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls, spin;type tform1 = class(tform) button1: tbutton; spinedit1: tspinedit; spin......


重新编译 vcl70.bpl
这是阿亮第一次写文章,有不正确的地方,欢迎讨论指正.

  【程序编程相关:增强型DBGrid2Excel-- 支持

【推荐阅读:设置可以从Windows资源管理器拖文件

首先要更正一个错误的结论:只要程序用到borland的包,就必须要带上vclxx.bpl.

【扩展信息:delphi的调用约定

 

非也!

 

想必用dll来实现功能模块分割的伙计们都有痛苦经历:无法导出类;无法共享主进程的全局变量;调用dll时可能要传递一大堆参数;令人心烦的pchar;等等等等...

borland通过包borland package library来解决了这些痛苦,在这里我们只讨论运行时包.

 

阿亮在2003年就因为工作原因研究了一下delphi 5的包,并成功的将一个大的系统按功能模块分拆到单个运行时包文件中,当时就想把vcl50.bpl重新编译一下,没有成功,很不甘心!头段时间安装了delphi 7,想重新试一下,结果居然成功了,也就是说,你可以写一个个头很小的exe文件(这对于有些程序员来说非常有吸引力,他们希望自己的的程序越小越好,甚至到了痴迷的程度,阿亮也算其中一员),可以多小呢?譬如20kb的exe,这个主程序只是一个框架,它可能仅包含一个主窗休.初始化一些应用需要的全局结构或变量.实现动态装入与卸载包的代码,后面至少带一个被重新编译的vcl包,当然,这个vcl包可能包含所有的delphi提供的标准单元,也可以仅包含你的应用需要的单元.

 

你可能发布的应用程序结构可能是以下结构:

 

app.exe           (* 主程序 *)

borland.bpl       (* 被重新编译过的borland vcl单元运行时包 *)


...   下一页
 ·delphi操作wrod的几个知识点    »显示摘要«
    摘要: //-------------------初始化-------------------- var wapp,work:variant; try wapp:=getactiveoleobject(word.application); except wapp:=createoleobject(word.application); end;//---------------替换字符----------......
» 本期热门文章:

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