在加载基于AutoCAD二次开发的应用程序时,我们通常都希望进行一些初始化工作,例如显示Logo图片、版权信息、加载菜单、工具条等,而在卸载应用程序时希望进行一些清理工作,释放程序所占用的资源。在使用C++基于ObjectARX开发时,在入口函数acrxEntryPoint中就可进行如上操作,而在C#开发的ObjectARX.NET程序集中,则可用如下方法实现。
1. 从接口IExtensionApplication派生一个类,该接口在Autodesk.AutoCAD.Runtime命名空间中。
2. 为类添加扩展应用程序集属性标识
[assembly:ExtensionApplication(typeof(命名空间.类名))]
3. 实现IExtensionApplication接口的两个方法
void Initialize();
void Terminate();
4. 在Initialize方法中实现应用程序的初始化操作
5. 在Terminate方法中实现程序结束清理工作。
C#例码:
using System;
using System.IO;
using System.Diagnostics;
using System.Reflection;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
[assembly:ExtensionApplication(typeof(lss.App))]
namespace lss
{
public class App : IExtensionApplication
{
public void
Initialize()
{
// 初始化我的应用程序
…….
}
public void
Terminate()
{
//清理我的应用程序
}
}
}
浙公网安备 33010602011771号