只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2011-07-30 09:44 神码都在云端 阅读(251) 评论(5) 推荐(0) 编辑
摘要: 一。Format的用法Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍:function Format(const Format: string; const Args: array of const): string; 阅读全文
posted @ 2013-02-24 16:48 神码都在云端 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 上一篇介绍了Hint的简单应用,这一篇将给出一个定制Hint窗口的例子。这个自定义Hint窗口的效果不错,以玻璃为边框,并且有阴影的效果。不过这之前,我们必须介绍一个如何定制,Hint的父类为THintWindow,在Controls单元中定义。我们看看几个虚拟方法,CreateParams设定窗口的风格,我们要覆盖掉它,使其没有边框。NCPaint画窗口的边框,我们也要覆盖它,因为我们不需要边框吗。Paint比较重要,为画Hint窗口客户区内容,当然要覆盖。不过最重要的当属ActivateHint,它会设定好窗口的大小,并显示它,我们就在这里定制一个类玻璃的窗口效果。下面给出该类的实现:un 阅读全文
posted @ 2013-02-24 16:47 神码都在云端 阅读(277) 评论(0) 推荐(0) 编辑
摘要: Delphi中使用提示是如此简单,只需将欲使用Hint的控件作如下设置:ShowHint := True;Hint := ‘提示信息’;不必写一行代码,相当方便。但有时我们又想自己定制提示的效果,使其看起来更美观更具个人特色,没关系,Delphi完全有办法让你写出自己喜欢的Hint效果。Delphi的Hint功能实现归类在Application类中,所以我们可以在Application类中看到数个关于Hint的属性,这些属性可以设置Hint窗口的颜色,停留时间,出现时间等,设置了这些属性,将对整个工程的Hint功能起到影响。这样做的好处当然是统一了Hint的风格,并且让其他类不必去理会Hint 阅读全文
posted @ 2013-02-24 16:46 神码都在云端 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 在论坛上常见到有帖子问如何拷贝控件的问题。其实Delphi提供了非常好的持久化机制,笔者写了一个类,提供两个方法,一个是将多个控件保存到流中,另一个是从流中读出控件。下面是源代码:unit ComPersist;interfaceuses Windows, Classes, Controls;type TComPersister = class private FRoot: TComponent; protected function UniqueName(BaseName: string): string; virtual; procedure ReaderSetName(Reader: T 阅读全文
posted @ 2013-02-24 16:43 神码都在云端 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 我们的程序有时候只允许运行一次,并且最好的情况是,如果程序第二次运行,就激活原来的程序。网上有很多的方法实现程序只运行一次,但对于激活原来的窗口却都不怎么好。关 键就在于激活原来的程序,一般的做法是在工程开始时,打开互斥量对象,如果打不开表示程序还没有运行,创建一个互斥量对象;如果打得开表示程序已经运行 了,查找程序中一个特定的窗口,一般是主窗口,然后发送一个自定义消息,主窗口在这个消息处理中激活自己。我原来就是这么做的,却发现有很多问题。主窗口在消息处理函数中激活不了自己,众所周知激活一个窗口最有效的方法当然就是SetForegroundWindow,但在主窗口中调用这个函数激活自己的效果却 阅读全文
posted @ 2013-02-24 16:41 神码都在云端 阅读(336) 评论(0) 推荐(0) 编辑
摘要: {**********************************************************}{ 摘要: 玻璃效果的绘制 }{ }{ 作者: LinZhenqun }{ 日期: 2007-10-5 }{ 邮件: linz... 阅读全文
posted @ 2013-02-24 16:37 神码都在云端 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 2011-03-17 16:36 1970人阅读 评论(1) 收藏 举报FastMM使用详解一、引言 FastMM 是适用于delphi的第三方内存管理器,在国外已经是大名鼎鼎,在国内也有许多人在使用或者希望使用,就连 Borland 也在delphi2007抛弃了自己原有的饱受指责的内存管理器,改用FastMM. 但是,内存管理的复杂性以及缺乏 FastMM 中文文档导致国内许多人在使用时遇到了许多问题,一些人因此而放弃了使用,我在最近的一个项目中使用了FastMM,也因此遇到了许多问题,经过摸索和研究,终于解决了这些问题。二、为什么要用FastMM第一个原因是FastMM的性能接近... 阅读全文
posted @ 2013-02-24 16:29 神码都在云端 阅读(966) 评论(0) 推荐(0) 编辑
摘要: FastMM 定位内存泄露的代码位置开源的FastMM,使用很简单,在工程的第一行引用FastMM4即可(注意,一定要在第一个Uses的位置),可以在调试程序时提示内存泄露情况,还可以生成报告。在Delphi2007以后版本中,使用更加简单,只需要在工程开始的位置加上语句:ReportMemoryLeaksOnShutdown := True;就可以了,并且在运行时不会出现提示。如果想要生成文件报告,还需要FastMM4,Delphi中没有别的设置可以生成文件报告。可以修改FastMM4Options.inc中的参数开关来修改内存管理的相关设置。使用说明如下:1.打开FastMM4的调试功能首 阅读全文
posted @ 2013-02-24 16:28 神码都在云端 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: FastMM最新版本提供了中文语言包,可方便国内使用。下载地址为http://sourceforge.net/projects/fastmm/配置文件为:FastMM4Options.inc,中文详细配置方法如下:{Fast Memory Manager: 选项配置文件在这里为FastMM设置默认选项FastMM 4.84}{ Simplified Chinese translation by QianYuan Wang Contact me if you find any improper translation. 如果翻译上有任何不恰当的地方请和我联系。 E-Mail: wqyfavor@ 阅读全文
posted @ 2013-02-24 16:27 神码都在云端 阅读(539) 评论(0) 推荐(0) 编辑
摘要: unit uThreadPool;{ aPool.AddRequest(TMyRequest.Create(RequestParam1, RequestParam2, ...)); }interfaceuses Windows, Classes;// 是否记录日志// {$DEFINE NOLOGS}type TCriticalSection = class(TObject) protected FSection: TRTLCriticalSection; public constructor Create; destructor Destroy; overri... 阅读全文
posted @ 2013-02-24 16:03 神码都在云端 阅读(479) 评论(0) 推荐(0) 编辑