2013年12月18日

摘要: 原因有这样几种:1.在数据库设计时,为某些字段设置了默认值,在修改进行提交以后,数据库会自动修改对应字段的所有行的默认值,从而导致了数据库与数据集中数据的不一致,使ADOQuery无法对数据集进行定位。2.数据库对应的表没有主键,输入了重复的数据以后,数据库里有两条一样的数据,从而使ADOQuery无法对数据进行定位。解决方法:1.修改数据库设计,不再设置默认值,为数据库表定义主键,保证其唯一性。2.在执行完ADOQuery.Post之后,执行ADOQuery.Refresh,对于设置默认值的情况可以解决。 阅读全文

posted @ 2013-12-18 22:40 墨者工作室 阅读(405) 评论(0) 推荐(0) 编辑


2013年11月17日

摘要: 在数据编程时,编辑数据返回时,明明是Cxgrid.setfoucs,焦点却找不到了,原因是前节的提示窗体的问题,最好用application.messageBox 阅读全文

posted @ 2013-11-17 14:59 墨者工作室 阅读(167) 评论(0) 推荐(0) 编辑


2012年1月21日

摘要: 今天遇到个难题,安装AlphaControls后,CxGrid并没有跟着必变,网上找了很久也没有结果,最好发现AlphaControls本身是支持DEV组件的,只是默认是不改变,不过在inc文件中已经预定义了。有一个关键性文件sDefs.inc: { ---- Definitions by Serge V. Goncharov ---- }// -- 3rdparty support start -- //{.$DEFINE DEVEX} // DevExpress, LookAndFeel.NativeStyle property must be False{.$DEFINE USEPNG. 阅读全文

posted @ 2012-01-21 23:57 墨者工作室 阅读(2807) 评论(2) 推荐(0) 编辑


2012年1月15日

摘要: 现今所有的软件中都应用了设计模式,模式除了可以解决很多实际问题外,还给开发者带来非常顺畅的心情,本人是Delphi Fans现在关于这门语言的资料越来越少了。在这里给大家推荐两本书,一本是《敏捷软件开发》和《Delphi模式编程.刘艺》。我的笔记来自这两本书. 1.单一职责原则(SRP).一个类而言 阅读全文

posted @ 2012-01-15 23:02 墨者工作室 阅读(1288) 评论(0) 推荐(1) 编辑


2011年6月5日

摘要: Delphi 的RTTI机制浅探 作者:Savetime:savetime2k@yahoo.com 转贴自:Delphibbs.com 目录 =========================================================== ⊙ RTTI 简介 ⊙ 类(class) 和 VMT 的关系 ⊙ 类(class)、类的类(class of class)、类变量(class variable) 的关系 ⊙ TObject.ClassType 和 TObject.ClassInfo ⊙ is 和 as 运算符的原理 ⊙ TTypeInfo – RTTI 信息的结构 ⊙ 阅读全文

posted @ 2011-06-05 18:08 墨者工作室 阅读(446) 评论(0) 推荐(0) 编辑


2011年4月15日

摘要: TStrings类 出于效率的考虑,Delphi并没有象C++和Java那样将字符串定义为类,因此TList本身不能直接存储字符串,而字符串列表又是使用非常广泛的,为此Borland提供了TStrings类作为存储字符串的基类,应该说是它除了TList类之外另外一个最重要的Delphi容器类。要注意的是TStrings类本身包含了很多抽象的纯虚的方法,因此不能实例化后直接使用,必须从TStrings类继承一个基类实现所有的抽象的纯虚方法来进行实际的字符串列表管理。虽然TStrings类本身是一个抽象类,但是它应该说是一个使用了Template模式的模版类,提供了很多事先定义好的算法来实现添加添 阅读全文

posted @ 2011-04-15 10:13 墨者工作室 阅读(2157) 评论(1) 推荐(0) 编辑


2011年4月14日

摘要: Delphi中的容器类作者 陈省 从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。 TList 类TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较类似于C++中的Vector和Java中的ArrayList,TList 经常用来保存一组对象列表,基于数组实现的机制使得用下标存取容器中的对象非常快,但是随着容器中的对象的增多,插入和删除对象速度会直线下降,因此不适合频繁添加和删除对象的应用场景。下面是TList类的 阅读全文

posted @ 2011-04-14 23:05 墨者工作室 阅读(1179) 评论(0) 推荐(1) 编辑

摘要: 理论: //适用于实现不是某一特定过程或函数 type TNotifyEvent = procedure(Sender: TObject) of object; 首先:procedure 也是类型,可以理解为过程类型,定义过程的参数结构,而具体的实现可以动态赋值onclick那样例子: 声明: onclick= procedure(Sender: TObject,a :integer) of object;以后你就可以把TNotifyEvent作为过程用了,而不用考虑它实现什么功能,你想onclik 里用户写了什么,都是一样的 if assign(onclick) then onclick;. 阅读全文

posted @ 2011-04-14 22:37 墨者工作室 阅读(1516) 评论(0) 推荐(0) 编辑


2010年10月17日

摘要: 有没有使用过Adobe Photoshop?如果用过,你就会对插件的概念比较熟悉。对外行人来说,插件仅仅是从外部提供给应用程序的代码块而已(举个例子来说,在一个DLL中)。一个插件和一个普通DLL之间的差异在于插件具有扩展父应用程序功能的能力。例如,Photoshop本身并不具备进行大量的图像处理功能。插件的加入使其获得了产生诸如模糊、斑点,以及其他所有风格的奇怪效果,而其中任何一项功能都不是父应... 阅读全文

posted @ 2010-10-17 17:24 墨者工作室 阅读(985) 评论(0) 推荐(0) 编辑


2010年8月22日

摘要: by Joanna Carter译文:skyblue(转载请注明作者)在一篇已经发表的文章中做了微小改动;可以从这篇文章中看到关于Model View Presenter(模型-视图-推荐者)的概念更胜于Model View Controller(模型-视图-控制器)。“但是我还不知道什么是模型-视图-控制器!”,你可能会说。好,在本文得最后篇章中我希望你得问题或者其他更多... 阅读全文

posted @ 2010-08-22 17:29 墨者工作室 阅读(2869) 评论(0) 推荐(1) 编辑


Copyright © 2024 墨者工作室
Powered by .NET 8.0 on Kubernetes