摘要: 简介在这篇文章中,我将大概的从Delphi XE2 的Dialogs单元入手,分析ShowMessage,MessageBox等对话框运行原理,希望能帮助你理解Delphi,不求你爱上她,只求让你能快速地解决问题。跟踪代码为了了解这些对话框的运行原理,我们需要跟踪进源代码中去,为此,你需要做如下设置1. 简单创建一个使用了ShowMessage的VCL应用程序unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls.. 阅读全文
posted @ 2011-09-14 22:46 潺缘 阅读(4046) 评论(5) 推荐(3)
摘要: 本文转自: NeuglsWorkStudio http://www.neugls.info/?p=130 Request control use sqlite3 as its database, connected by sqlitewrap. If you want to know more about sqlitewrap, please visit this website: http://... 阅读全文
posted @ 2011-07-17 12:05 潺缘 阅读(271) 评论(0) 推荐(0)
摘要: Delphi 的消息分发机制 话说Delphi的消息分发机制的实现,有两个关键因素,第一个是TObject,另一个是,个人认为也是最重要的一个是,VMT(virtual method table).我们都知道,一个函数,我们如果要将这个函数定义为可以处理那个特定消息的函数是,都需要加上一个关键字,Message,然后后面加上你要处理的消息ID。而消息分派机制的魔法就在这里。 当我们在函数后面跟上M... 阅读全文
posted @ 2011-07-16 19:28 潺缘 阅读(369) 评论(0) 推荐(0)
摘要: 多线程编程感悟线程是一个执行体一个进程的数据对所有线程都可见数据和线程是分开的,数据不属于任何线程界面由主线程管理主类实例与主线程什么关系实例是进程里的一段内存,这段内存可能含数据和方法实例的方法与主线程或其他线程有什么关系?当主线程调用 了实例的代码,也就是说将实例的代码放到主线程去执行了而已数据与界面的分离:控制界面的代码不直接保管数据主线程就是不断地获取消息,处理消息,而这个处理消息的过程就... 阅读全文
posted @ 2011-07-16 19:27 潺缘 阅读(399) 评论(0) 推荐(0)
摘要: On systems based on the IA-32 architecture, the FPU control word includes bits that control the FPU's precision, rounding mode, and whether exceptions generate signals if they occur, if you want to k... 阅读全文
posted @ 2011-04-21 01:27 潺缘 阅读(898) 评论(0) 推荐(0)
摘要: 初在Delphi里进行处理错误时,最常用的做法是try….except ….end. 例如:try raise Exception.Create('Error Message'); except on e:Exception do begin ShowMessage(e.Message); end; end;而现在要说的是另外的一种做法:var ExceptionObj : TObject;beg... 阅读全文
posted @ 2011-04-15 23:14 潺缘 阅读(1834) 评论(0) 推荐(0)
摘要: 本文转自:http://www.neugls.info/?p=97JVCLThe JEDI Visual Component Library (JVCL) consists of a large collection (currently ca 500) visual and non-visual components which can be instantly reused in your Delphi, Kylix and C++ Builder projects. You can visit this website to know more about JVCL: http://jv 阅读全文
posted @ 2011-04-06 00:42 潺缘 阅读(9382) 评论(0) 推荐(0)
摘要: 问题是这样的。在我的程序中,我用json存放用户的设置,保存到文件中。当我的程序版本升级时,我往用户的设置中增加了新的Fields。当我从用户的机器中读取老版本的设置时,会出现错误。我的读取与写入代码如下:procedure ReadFromStream<T>(Stream: TStream; var O: T);var CTX:TSuperRttiContext; Size:Cardinal; ... 阅读全文
posted @ 2011-04-05 16:43 潺缘 阅读(1731) 评论(1) 推荐(0)
摘要: 最近,Delphi推出了64位预览版本, 我做为一个忠实的Delphier, 看到这消息后,第一时间学习,并写下这个做为以后的参考资料。 相同点: 在Delphi 64位版本中,UnicodeString,AnsiString,WideString在使用上与32没有区别,只是索引变成了64位,如:S[I]中的I变成了64位。 Singed typesDelphi/32Delphi/64ShortInt1 bytes←SmallInt2 bytes←LongInt4 bytes←Integer4 bytes←Int648 bytes←Unsinged typesDelphi/32Delphi/. 阅读全文
posted @ 2011-04-05 12:53 潺缘 阅读(6178) 评论(3) 推荐(1)
摘要: camera 摄像机在Papervision中,The Camera3D class creates a camera that views the area around a target object.也就是说:camera就是我们的眼睛, camera的位置就是我们所在的位置!一个物体在3D空间中,我们从不同的位置去观察这个物体,会有不同的view,我们会看到这个物体不同的一面!而Carmer就是为实现这个功能而加入的! 阅读全文
posted @ 2011-03-24 10:56 潺缘 阅读(429) 评论(0) 推荐(0)