|
摘要: 1、响应器技术概述; 2、工程图审批流使用情况介绍;3、监控实现过程; 4、结论;
本文论述的是NM-PDM(南方摩托股份公司PDM)中审批流管理所必须解决的Powerbuilder和ACAD数据交换技术和审批流中必须引入的响应控制技术。数据交换技术的正确使用为PDM和ACAD有效集成提供基础;响应控制技术的采用,从程序系统上杜绝了操作者对非授权数据的修改,从而保证了工程图基础数据的有效和完整。
1、响应器技术概述 当AutoCAD系统内产生一个事件时,特定的对象会调用通知程序自动传递事件到其它对象。例如当用户复制、删除或修改对象或者用户发出RODO或UNDO命令时,对每个事件会自动触发相应的通知。 对象接收事件称为响应。一个响应在它能从通知程序接收事件之前必须先明确增加到通知程序响应列表中。当事件发生时,通知程序对响应列表中的每个响应自动调用相应的通知函数。所有响应器函数都是虚函数,所以其不能直接调用,必须从相应的响应器类中派生后才能调用。此时可以在相应的函数中添加代码,以实现用户所需功能。 响应器主要分为临时响应器和永久响应器。 临时响应器主要用于接收事件通知,使用临时响应器可以监控数据库对象的事件,同时也可以在应用程序运行时监控数据库事件、用户交互及其它系统事件。如将响应器添加到目标图层上以监视该图层的修改状况,若目标图层被非法解锁,将会触发该响应器中的objectClosed()事件中的重新锁层方法。 临时响应器的构造方法主要是在应用程序加载时搜索或创建目录对象,然后将目录对象指针加载到响应器的响应列表中,一旦目录对象指针内容发生改变,则会触发响应器的相关事件,然后在响应器事件中调用用户所定义的方法。临时响应器可以使用addReactor()函数来添加。 永久响应器主要用于接收和发送通知,一旦永久响应器被添加,便作为数据库对象的一部分,并保存在DWG和DXF文件中,当图形文件被装载时会被重新建立。 永久响应器的构造方法主要是在数据库增加对象响应,并使用目标对象的ID号获取其指针以与其建立约束。永久响应器被添加到通知对象的响应器列表中时刻跟踪目标对象,一旦目标对象被更改,将会响应用户所规定的事件。永久响应器可以使用addPersistentReactor()函数来添加。永久响应器是数据库的一部分,因此,在复制对象时,附加在其上的永久响应......More↓↓↓
|