易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi分解模块的技术

众所周知,系统需要进行多人并行开发时,应该把系统分拆成独立的模块,这样才能避免开发冲突。但如何进行分拆呢?在Delphi系统中,有很多种方法,下面来进行一一介绍与分享。
1.把模块拆分成包(dpk),直接在主程序中通过LoadPackage函数把包装载进来即可。不过这种方法也有些不便,所有的类必须继承自TPersistentClass,并且RegisterClass之后才能被GetClass从主程序获取,这样操作也是比较麻烦的。(不推荐使用)
2.把模块拆分成DLL,编译时不带包编译(问题:由于类在独立的空间,使用外部包时,容易产生类不兼容的问题,在DLL中判断类是否继承自主exe中的对象是不行的,而这种需求又经常出现,因此不推荐使用这种方式。)
3.把模块拆分成DLL,编译时带包编译(在project->Options->Packages中把Build with runtime packages选上),然后把需要的包带进去即可,主程序也是带包编译,这样主程序与DLL就会使用共同的类分配表空间,对相同的类就可以进行兼容判断了,这样就可以使用DLL中继承自公共包中的基类来实现功能了,另外这样还可以避免很多问题,如使用第三方控件产生的奇怪问题,DLL建立的子窗口无法在主窗口中“存活”的问题,等等。
4.把模块拆分成带公共包的DLL或dpk,把基类拆到公共包中,公共包中包含全局变量,在DLL或dpk中可以使用initilization对全局变量进行初始化,不需要传递任何参数,这样就可以实现把接口类和全局变量放在公共包中,具体实现类直接引用公共变量的方案,不过使用这种方式时,接口的递增式开发要注意的是管理问题。
        有人主张在开发前就花比较长的时间把接口设计好,不过这种“理想”情况只有在理想国度内才可能出现,不需要修改的接口设计是不可能的。不过最主要的是设计好一个沟通流程,这种沟通机制如何建立呢?不同的开发团队有不同的实现机制,请有兴趣的朋友一起来看看下周的设计功能讨论。


相关文档:

Delphi操作注册表的一般步骤

Delphi操作注册表步骤如下:
-------------------------------------
1)在Uses中添加Registry单元;
2)声明TRegistry对象;
3)创建TRegistry对象;
4)指定根键;
----------------try------------------
5)打开需要操作的主键;
6)读写操作;
7)保存并关闭主键;
--------------finally----------------
......

Delphi操作INI文件的一般步骤

Delphi操作INI文件步骤如下:
-------------------------------------
1)在Uses中添加iniFile单元;
2)声明TiniFile对象;
3)创建TiniFile对象;
----------------try------------------
4)INI文件读写操作;
--------------finally----------------
5)释放TiniFile对象;
---------------end--------------- ......

Delphi IDhttp 获取Cookie

获取post,或者get返回的cookie,除了过滤返回的字符串之外,最简单的方法是使用idhttp的CookieManager属性
比如获得IDhttp返回的全部Cookie
if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
temp := temp + idhttp1.Cooki ......

用delphi制作OCX库文件(三)

开发步骤:
1、创建ActiveX Library工程。
2、创建COM Object。
3、创建Type Library,并创建相应接口。
4、创建接口对应的函数和实现。
具体如下:
3、创建Type Library,并创建相应接口。
view|type library
找到已经生成的type library,其实和TLB文件是对应的。
我们可以看到上一步生成的对象也含在里面。
我 ......

Delphi中调用Windows自带的图片和传真浏览器

Delphi中调用Windows自带的图片和传真浏览器查看图片,可以旋转图片也可以调用画图程序编辑图像。自己写不出来好的代码,就用系统自带的好了。
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ShellAPI;
type
TForm1 = class(TFo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号