MDL开发文档逻辑
Application initialization logic (main() processing)
应用程序初始化的逻辑
This is the logic that sets up the application for all future processing. Among the tasks to accomplish are:
这是为所有未来处理设置应用程序的逻辑。需要完成的任务包括:
- 为对话框、命令表和消息列表打开资源文件。
- 注册用于提示或错误的消息列表id。
- 加载命令表。
- 为系统事件设置用户挂接(例如,卸载或重新加载)。
- 用MicroStation的对话框管理器注册对话框挂接函数。
- 打开应用程序的初始对话框。
初始化完成后,主函数返回,应用程序等待调用其中一个对话框悬停、用户悬停或命令函数。 - 建立一个cell(单元)库:
需要一组预先定义的图形符号来表示系统对象的应用程序应该有自己的预先构建的单元库。单元库由开发人员生成,然后与应用程序打包。有关单元格和如何创建单元格的信息,请参阅MicroStation在线参考指南中的“单元格放置和操作”(处理单元格的一般步骤)和“菜单引用”(设置菜单)。单元创建的一个例子是MicroStation用户指南中的“Learning MicroStation”(第一课)。 - 创建命令表:
命令表定义应用程序命令的语法。命令表是层次化的,一个主表向下分支成子命令树。一个应用程序的命令表是在一个资源源文件中定义的,该资源源文件编译后将产生两个输出文件,一个用于键输入的解析和验证,另一个是惟一标识每个命令的无符号整数列表。有关创建和使用命令表的更多信息,请参阅构建应用程序的内容。 - 构建对话框:
对话框显示并收集数据。参见CreatingDialogBox,了解构建对话框的一般过程,使它们更容易调试。 - 编写原始命令逻辑:
编写应用程序处理元素放置和操作的所有基本命令例程。每个原始命令都需要设置状态函数来处理诸如数据点、重置和显示动态之类的事件——即在屏幕上拖动元素时显示元素,有时也称为“橡皮带”。 - 为即时命令和实用命令编写逻辑:即时命令是设置内部设置变量值的命令。在MicroStation 4.0或更高版本中,对话框是一种更优雅的设置内部变量值的方式,因此不需要立即执行命令。但是,有时仍然需要定义即时命令。例如,如果您预见到需要从MicroCSL程序或用户命令设置MDL应用程序变量,则必须定义立即命令,因为MicroCSL程序和用户命令不能显示对话框。实用程序命令是一种不需要用户交互输入的命令,而且不只是设置应用程序变量。
- 构建工具盒:
工具是启动命令的图形图标。当用户单击某个工具时,将启动相应的命令。带有MicroStation的“外观”的应用程序至少有一个工具箱,如果它向用户提供命令的话。在开发的初始阶段,并不一定要创建工具箱,因为可以键入命令。但是,如果您可以单击图标来启动命令,而不是键入命令,那么测试就容易得多。 - 外部处理:应用程序使用的外部处理程度从没有到全部依赖于应用程序,有时还取决于应用程序的历史。使用现有MicroCSL应用程序的开发人员可能只想利用MDL的一部分。例如,可以使用消息队列或共享内存接口将MDL“前端”写入MicroCSL程序。另一方面,开发人员可能希望在MDL中完全重新实现现有的外部程序。介于这两种极端之间的是MicroCSL程序,它的部分功能转移到了MDL中,反之亦然。外部程序不必调用MicroCSL。
- 创建联机帮助:
与文档一样,联机帮助通常在产品开发周期的后期才开始成形。实现联机帮助就是创建包含文本信息的帮助资源,并将它们与某些命令、对话框或对话框项关联起来。帮助资源也可以是“独立的”;也就是说,它们只能通过手动遍历MicroStation的帮助对话框中的帮助主题来引用。