2012年4月28日
摘要: (1)正确认识dll Dll本质上一个独立的应用程序,与exe一样,有自己的地址空间。 因此,dll是一个可装载执行的程序。其他的,不多说了吧。 (2)调用DLL的方法 我用过的有三种。 第一种:用API 因为Delphi支持几乎所有的API,你可以在Delphi中直接调用API装载一个外部DLL。但是我不喜欢这样做,因为我讨厌微软的那套路。 第二种:外部函数引用 做一个单元(unit),引用外部函数。例如: function myDllCall(var i:integer): Integer; stdcall; external 'mydll.dll' name 'm 阅读全文
posted @ 2012-04-28 06:58 yf658 阅读(557) 评论(0) 推荐(0) 编辑
摘要: Delphi用DLL来封装对象的技术主要有三种: 用接口实现 用纯虚和抽象类方法实现 用类引用实现 前两种,都是在DLL中生成类实例;第3种通过在调用方生成实例。三种方法的共同局限如下: 调用方只能调用封装类中的virtual方法; 调用方和提供方都必须提供类的描述,接口实现中需要提供接口描述(COM方法例外); 不能创建DLL包含对象的派生类(接口派生除外)。 首先,用接口实现当然包括COM实现,不过由于COM是一种实现接口技术的独立门类,所以在下面说的接口实现中不包括这方面的东西。其次用纯虚和抽象类方法实现,在《Delphi 6 Developer‘s Guide》中提及的inc... 阅读全文
posted @ 2012-04-28 06:54 yf658 阅读(1410) 评论(0) 推荐(0) 编辑
摘要: TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。一、针对TTreeNodes,也就是 TreeView.Items,有这些属性: 1、count,节点个数。 2、item[index] ,通过index得到节点。二、针对TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有: AddFirst添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。 AddChildFirst添... 阅读全文
posted @ 2012-04-28 06:52 yf658 阅读(271) 评论(0) 推荐(0) 编辑