Delphi技术
Harryfin
这个作者很懒,什么都没留下…
展开
-
一种较为高效的TreeList生成算法(Delphi实现)
记得不久前曾写过篇关于TreeList生成的文章。虽然那个算法里,我已经有对叶节点做判断,避免无用的Filter操作。但是非叶节点的Filter操作依然是无可避免的。而Filter又是影响整个生成的最重要因素,因此当带子节点的节点很多时,速度还是要被拖下去的。后来我看到了一种觉得不错的思路,就是用调整节点的方法来形成树。先一次过把所有数据当根节点加进TreeList中,然后再根据它们之间的ID...原创 2018-11-29 11:35:51 · 844 阅读 · 0 评论 -
如何让Delphi控件在编译时,自动添加所需的单元
在开发控件的时候,常会类似碰到这样的情况:我某个方法或事件的参数的类型,并不在Delphi默认添加的单元中,如果此时直接编译,必然会报错。但是让用户逐个把所需的单元添加回来,又显然太麻烦了,甚至用户也不知道该添加哪些单元。有没有办法让它自动化一点,在编译时,让控件自动给单元添加所需的单元呢?答案是肯定的。首先引用DesignEditors和DesignIntf单元。然后在控件单元,编写一个...原创 2018-11-29 11:39:21 · 734 阅读 · 0 评论 -
Delphi跨单元访问其它类protected下的属性方法
我们知道,对于DELPHI来说,同一个单元中的类都互为友元,可以互相访问彼此的非public方法和属性,子类也可以访问父类private下的属性方法。虽然从单元内部讲,这似乎不是很符合封装的原则,容易引起初学者的混乱。只有在某些特殊设计(如刘艺举例的那个备忘录模式),或为了让两个类更紧耦合一点时,才应使用此“特性”。不过跨单元后,此“特性”便会消失,一切重新遵循回标准的面向对象原则。然而,是不...原创 2018-11-29 11:42:51 · 640 阅读 · 0 评论