等待COM对象执行。
线程模型
Apartment 也称为单线程单元(STA)。在Windows NT3.51
和稍后的Windows 95中作为COM的第一个版本引入 。Apartment线程模型由一个多线程进程组成,其中每 一线程只包括一个COM对象。单线程也表示每个线 程只能被一个Apartment调用,每个Apartment都是单 线程的。所有的调用都通过Win32消息机制实现。 COM保证这些调用的同步。每个线程都有自己的 Apartment或者执行关系,在任一时刻只能有一个线程 访问这个Apartment。Apartment中的线程只接受来 自同一Apartment中其它线程的调用。调用参数需经 过Apartment之间的Marshall处理。COM负责在 Windows消息机制中处理Apartment间的Marshall过 程。
线程模型
Free 模型。由Windows NT4.0和Windows 95
DCOM引入,允许多个线程访问单个COM对象 。使用Free线程的COM对象必须保证线程同 步并且实现线程敏感的消息句柄,保证线程安 全。调用不能通过Win32消息机制实现,也不 能由COM来同步线程,因为同一方法可能在同 一时间被多个进程访问。使用Free线程的对 象应该能随时处理来自其它线程的方法调用, 以及处理来自多线程的同时调用。参数直接 传递到任意线程,因为所有的Free线程在同一 Apartment中存在。这也称之为多线程 Apartment(MTA)。
线程模型
Both 同时支持Apartment和Free两种线程模 式。一个进程可能同时拥有Apartment
和Free线程模型。唯一的限制是只可同 Free , 时拥有一个Free线程模型,但可以有多 个单线程Apartment。Apartment之间的 指针和数据传递需经过Marshall处理。 调用STA中的对象方法将由Win32保证 同步,调用MTA中的对象方法则完全不 经过同
步处理。
线程模型
Neutral模型。由Windows2000和COM+引入。使用
Thread Neutral Apartment(TNA)的组件将自 己标记为Free或Both模型。这里组件的实例 配合调用者线程而使用调用者线程的模型。 COM类对象的实例能在每次被调用时使用不 同的线程模型。当线程执行COM对象中的方 法,且此方法创建一个新对象时,MTS将暂停当 前线程,创建一个新线程来负责对创建对象的 处理。和MTA一样,TNA允许多个线程进入一 个Apartment。但是,每当一个线程进入 Apartment时,将锁定进入的Apartment,仅当 退出时才允许其它线程进入。此类线程模型 被引进MTS和COM+的原因是保证上下文切 换速度。
授权文件的处理
如果选择Make Control Licensed,发布时必 须将lic文件和ocx文件发布到同一位置,否则 此ocx不能使用。
添加属性或方法
1、打开*_TLB.pas文件。 2、点击工具栏上界面切换的按钮 或者按F12键。
添加属性或方法
3、在对应的接口中增加方法或者属性 。 4、保存。 5、打开对应的实现单元。Delphi已经 自动将新增的属性或方法加入对象中。
Delphi简介 Delphi IDE介绍 对象的属性和事件 第一个Delphi程序 Delphi中如何访问数据库 怎样使用线程 动态链接库 编写Activex,so easy! 有用的小工具
Delphi自带工具
BDE Administrator SQL Explorer WinSight32 Datapump
第三方工具
Modalmaker ModelMaker Code Explorer MemProof