研究VCL源码的原因和起点

Posted 癫狂编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了研究VCL源码的原因和起点相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

研究VCL源码的原因和起点

根本原因:
当然是希望自己成为Delphi高手,因为这么多年过去,觉得自己始终不得要领,修改一个控件都无从下手,一直都只是个会拖控件的白痴。而我却拥有一颗不安分的心。

郁闷原因:
我把传说中的几本大作《深入浅出VCL》和《Delphi高手突破》和《Delphi开发人员指南》看了几遍了,仍不得要领,郁闷。

具体起因1:
我发现手动写代码:
label1 = TLabel.Create;
label1.left=100;
label1.top=100;
label1.parent=Form1; // 不写这一句这个Label1就不显示,觉得莫名其妙,于是深入追踪,还真巧,这句话就是控件的关键,包括许多内容。

具体起因2:
发现TImage也能响应WM_MOVE这种Windows消息,觉得很奇怪

具体起因3:
Label到底是怎么显示到Form上面的?追踪到最后,发现还是使用API DrawText显示出来的,至于它的Caption,就是一个Delphi普通的String。

 

最终发现:

即使有那几本大作的存在,尽管看了好几遍,但还是要自己分析一遍VCL代码啊。那几本书可以帮助你理解,但也仅仅是帮助,主要还得靠自己阅读。经过几个月的阅读,终于觉得自己大致明白了Delphi的特点。反正编译器对于普通开发人员和VCL开发人员都是一样的,都是平等的。从这个意义上说,Delphi其实就是开源的,并且依托于Windows这个舞台,所以其发挥空间是无限的。犯我天朝者,虽远必诛!将士们都要努力啊!!

 

以上是关于研究VCL源码的原因和起点的主要内容,如果未能解决你的问题,请参考以下文章

研究良久,终于发现了他代码写的快且bug少的原因

研究良久,终于发现了他代码写的快且bug少的原因

一次@value取值失败的原因

再次挑戰UCOSII内核源码

生存分析

Win10代码设置默认浏览器研究