我的免费下载云集vip微店

Delphi著名皮肤控件库大全-皮肤技术-盒子文章
您现在的位置: >>
Delphi著名皮肤控件库大全
时间: 9:45:42 点击:
  核心提示:皮肤这东西很多人褒贬不一,有人认为程序做的好就行了,界面还是保持原生态来的稳定。的确,稳定是程序至关重要的一点,离开这点其他任何都无从谈起,但不可否认,无论是微软、苹果,还是大众用户,审美观越来越高,试想同样的QQ软件或者酷狗软件,功能稳定性相同,你是喜欢带皮肤漂亮的还是喜欢原生态的呢?因此,程序界...皮肤这东西很多人褒贬不一,有人认为程序做的好就行了,界面还是保持原生态来的稳定。的确,稳定是程序至关重要的一点,离开这点其他任何都无从谈起,但不可否认,无论是微软、苹果,还是大众用户,审美观越来越高,试想同样的QQ软件或者酷狗软件,功能稳定性相同,你是喜欢带皮肤漂亮的还是喜欢原生态的呢?因此,程序界面美化也是一个产品非常重要的一点。
做皮肤其实是项浩大的工程,从美工设计、到贴图、到程序设计,都非常的麻烦,如果不是一个非常成熟的产品且有很大的用户群体,并且公司具有相当实力,一般都不会去自己做皮肤,毕竟涉及的东西太多,一旦出现问题,那将对软件本身带来无法预计的后果。
因此我选择使用成品皮肤库在现有的软件上,在使用前为了在效果和稳定性上达到平衡,因此对目前DELPHI市场上的皮肤控件都进行了一一测试,包括稳定性测试、内存泄漏测试、贴图效果测试、使用效率、皮肤界面五大项进行了一个横向的对比,以便给正在准备使用皮肤的朋友一些参考。
这次选择的产品都是“著名”控件包,为什么加上“著名”二字,这个是有道理的,皮肤这东西用上后直接影响到程序的运行,后续维护一定要有保障,试想你用了一个皮肤控件,没有后续的保障,遇到BUG没人修正,你又没有源代码的情况下,除了换皮肤控件外没有任何办法。因此著名的DELPHI控件的标准是,有正规公司或个人运作,保持持续更新,遇到问题反馈后能得到响应的控件包。
这次参与测试的控件包包含了:AlphaControls、BusinessSkinForm、DynamicSkinForm、VCLSkin和AppFace 五个,我也测试过网上能找到的一些其他控件,但其长期不更新因此直接淘汰。在控件包方面,国外的产品比国内的强的太多,拿一款QQ界面控件包来说(这里不直接指明),控件BUG成堆,甚至连最起码的界面重绘、刷新和内存泄漏都没做好,这样的产品尽然也拿出来卖钱,而发现没人购买后,作者以免费名义发布控件,但不包含源代码后,近一年多都没更新过一次,你发现BUG提交给他,他就让你买源代码,价格不等,这样的控件包建议大家连用都不需要用,直接PASS,以免做很多徒劳的事。
这几个控件包除了AppFace外都提供的DEMO程序,除了AppFace外都是以Delphi组件形式提供的,而AppFace是DLL方式提供。
下表上概括了几个界面控件包的特点:
使用便利性
&内存泄漏测试
贴图效果测试
AlphaControls
BusinessSkinForm
DynamicSkinForm
下面详细介绍下这几个界面包测试时候遇到的问题。
最早测试的是AlphaControls,版本是最新的7.54 LITE EDITTION,说实在的,从界面效果来说,AlphaControls无疑是这几个界面包里面最好的,也是最精致的,同样提供了超过60种皮肤,而且在不断增加,贴图效果也是最好的。测试过程发现内存有轻微泄漏,主要集中在几个控件上,这个问题不大。但窗口标题后面经常出现一些像乱码的字符,这个让人很不舒服,原本以为是7.34版本的问题,结果更新到官方最新的7.54免费版后,还是有这个问题。但这些都可以忽略,最为重大的BUG是界面最小化后,恢复时经常会导致死机,注意是死机,并不是应用程序无响应,这时候除了按硬启动外没有任何办法。我原本以为是机器的问题,更换机器换使用官方DEMO,依然发现这个严重的问题。但该问题并不是每次都会出现,基本出现率在1/20样子。但这个问题不可谓不严重,导致死机是什么概念,真是让人无语。因此AlphaControls也是第一个被淘汰,且最不舍的控件包,希望以后的新版本可以解决这个问题。(看官方更新历史记录,曾经更新过这个问题,但似乎没有彻底修正)
二、AppFace
第二个测试的是AppFace(),这是个轻量级的皮肤控件,使用来说相当简单,加载个DLL即可,可以说不用对程序进行任何调整。提供的界面包比较少,皮肤也不怎么精致。但内存泄漏控制的很好。在测试过程,先用了一个简单的小软件加载做测试,没有什么问题,然后拿出我以前写的一个类似记事本的程序,这时候发现,加载AppFace后,软件尽然启动报错,为了确认是否是软件问题,我特意拿了一款开源程序(做脚本编辑的),结果发现一样的情况发生了。无奈只好PASS。
第三个测试的是BusinessSkinForm和DynamicSkinForm,这两个控件包可以说是孪生兄弟,因为是由一家公司开发的,DynamicSkinForm比BusinessSkinForm少了数据感知控件,不做数据库程序,没什么区别,界面皮肤包也是通用的,而且多达170多种。但说实话,精致度还不够高,但已经很好了。我们发现它还提供了很多新颖的界面设计组件,可以设计出非常具有特色的界面。在测试中均使用厂家提供的标准DEMO,内存无泄漏情况,这点难能可贵,毕竟是这么大型的控件包。贴图效果也算过得去,但和AlphaControls比还是稍显逊色。虽然提供的界面皮肤包多达170多种,但精致的还是有限,因此可以选择性的找一些皮肤发布。使用效率来说,如果窗口不使用动画效果,显示速度会比较快,但界面切换有闪烁情况。如果使用动画效果,使用效率就低了很多了,给人一种漫不经心的感觉。这两个控件在测试的两天中,发现稳定性很好,没有发送死机、无响应和自动退出这些情况。
四、VCLSkin
最后测试的是老牌VCLSkin(),这套控件包使用非常方便,提供的皮肤包也多,内存泄漏控制的也不错,使用效率很高,界面虽谈不上精致,不过也还说的过去。稳定性也还不错,比起早几年使用的时候,稳定性要提高很多,但在测试过程中还是发生了两次异常报错的问题。因此看来稳定性还有提高的空间。
通过测试后,我选择了这套控件包,虽然效率不是最高,界面不是最精致,但贵在稳定。截至文章发布前,这组控件包仍然在跑测试,没发生任何意外。
作者:demonbaby 录入: 来源:原创
上一篇:没有了下一篇:没有了
共有评论 12 条相关评论
发表我的评论
盒子文章() & 2016 版权所有 All Rights Reserved.Delphi &&&&最新内容
Delphi &&&&随机内容高分求教!delphi ADO控件发生内存泄漏!
Description of your first forum.
6 篇帖子 & 分页:1 / 1
由 mrduan & 星期二, 日 20:51
我在一个空白工程中只加入如下单元:&DB, ADODB, DBClient,DBCtrls使用CheckMem.pas检测内存泄露,编译运行,打开窗口后立即关闭,checkmem的日志结果如下:===== Project1.exe, 20:44:57 =====& & &可用地址空间 : 1024 KB(1048576 Byte)& & & &未提交部分 : 1008 KB(1032192 Byte)& & & &已提交部分 : 16 KB(16384 Byte)& & & & &空闲部分 : 13 KB(14004 Byte)& & & &已分配部分 : 2 KB(2048 Byte)&全部小空闲内存块 : 0 KB(236 Byte)&全部大空闲内存块 : 5 KB(5772 Byte)& &其它未用内存块 : 7 KB(7996 Byte)& &内存管理器消耗 : 0 KB(332 Byte)& & &地址空间载入 : 0%当前出现 1 处内存漏洞 :& &0) DA1FC4 - &135($0087)字节 - 不是对象----------------------------------------------& 哪位大侠能搞定啊?!指条生路也行啊。。
由 creation-zy & 星期二, 日 20:55
用免费的MemProof,在Project的编译选项中选中TDebug32 Info,就能定位到泄漏的行。& 不过,我建议还是用AQTime,即便是MemProof也有误报的问题——我前几个月被害惨了。
由 mrduan & 星期三, 日 09:37
谢谢creation-zy的回复&我下载了AQTime,测试结果显示:Object name为:Reserved Virtual Memory.497,有一Size为16384的内存泄露。如何在源代码中找到这一位置啊?
由 creation-zy & 星期四, 日 16:36
再次强调——你必须在Project的编译选项中选中TDebug32 Info,附加的检测工具才能定位到源码。& AQTime的操作比较复杂,你应该仔细的阅读帮助,而MemProof的使用就简单的多了(在手工指定了源码搜索路径之后,就会定位到泄漏发生的源码行):)& 不过,根据我的经验,如果只是引用了标准单元,就不会出现泄漏。除非你在程序中进行了创建或者New、GetMem、SetLength之类的操作。
由 mrduan & 星期四, 日 22:38
看来我得试试MemProof。用AQTime虽然在Project的编译选项中选中了include TD32 debug info,但却不知道如何定位源码。。 &:-(
由 mrduan & 星期一, 日 22:56
刚才网络出了点问题。& &已经结贴!虽然最终问题没有解决,但基本思路清楚了,谢谢creation-zy![:)]
6 篇帖子 & 分页:1 / 1

我要回帖

更多关于 蝴蝶的云集 的文章

 

随机推荐