MicroStation开发语言(MDL)应用教程(第一章)

一、MicroStation的开发工具&nbsp
UCMs&nbsp…………&nbspUser&nbspCommands&nbsp
MicroCSL&nbsp……&nbspMicroStation&nbspCustomer&nbspSupport&nbspLibrary&nbsp
MDL&nbsp……………&nbspMicroStation&nbspDevelopment&nbspLanguage&nbsp
二、何为MDL&nbsp
MDL是MicroStation的“应用引擎(Application&nbspEngine)”,MDL可以直接在MicroStation中运行并且表现为MicroStation本身的一部分。许多MicroStation的命令都可以在MDL中应用。&nbsp
 &nbsp
MDL的组成&nbsp
 &nbsp
 &nbsp
标准C&nbsp(ANSI&nbspC)&nbsp程序设计语言(当然有某些限制和扩展);&nbsp
一整套开发工具(包括C编译器、连接器、链接库、资源编译器和资源库、Make程序以及调试工具);&nbsp
MicroStation内部的用于执行MDL应用程序的伪码解释器;&nbsp
MicroStation内部的MDL调试器;&nbsp
大量的运行库函数;&nbsp
可以改变MicroStation各种行为的钩子(Hooks)函数,所谓钩子函数是指那些在某种事件发生时被MicroStation自动执行的函数;&nbsp
GUI开发工具,可以用于开发基于Motif的图形用户界面(包括:对话框、下拉菜单等);&nbsp
资源管理器;&nbsp
 &nbsp
运行及卸载MDL应用程序&nbsp
 &nbsp
 &nbsp
在MicroStation命令窗口中运行MDL应用时,可以指定一个应用名称和任务识别码(Task&nbspID),其中前者是必须的。具体使用方法如下:&nbsp
 &nbsp
MDL&nbspLOAD|SILENTLOAD&nbsp[DEBUG|NODEBUG]&nbsp<应用名>&nbsp[,<任务识别码>]&nbsp[<参数>]&nbsp
 &nbsp
MicroStation将首先在当前目录下查找用户在命令行中指定的应用,如果找不到,再到由MicroStation环境变量MS_EXE和MS_MDL指定的目录下去寻找。&nbsp
如果用户未指定应用程序的扩展名,MicroStation将首先寻找无扩展名的文件,其次才是.MA文件和.RSC文件。因此运行时最好键入应用程序的全名。&nbsp
卸载 MDL应用的命令为:&nbsp
MDL&nbspUNLOAD|SILENTUNLOAD&nbsp[<任务识别码>]&nbsp
 &nbsp
MDL应用还可以在MDL对话框中装载运行,该对话框如图1-1所示。通过MDL对话框也可以卸载MDL应用。&nbsp
 &nbsp
图1-1、MDL对话框&nbsp
 &nbsp
五、MDL的高级调用方式&nbsp
在一个MDL应用中调用另一个MDL应用:使用MicroStation的内部函数mdlSystem_LoadMDLProgram;&nbsp
在MicroStation初始化时(打开DGN文件之前或者进入图形模式之前)调入MDL应用:使用环境变量MS_INITAPPS和配置变量MS_DGNAPPS,如果要调用多个MDL程序,用分号(;)隔开,语法如下:MS_DGNAPPS=应用程序名[,任务识别码]&nbsp[/D];&nbsp
在DGN文件打开时运行MDL应用:使用mdlSystem_CreateStartupElement函数在DGN文件中创建一个启动元素(Start-up&nbspElement,类型代码为66),即可在MicroStation打开DGN文件后立即运行指定的MDL程序;&nbsp
KEYIN应用:MDL&nbspKEYIN&nbsp<应用名>&nbsp<命令字串>。&nbsp
 &nbsp
六、MDL的高级卸载方式&nbsp
在程序中使用标准C的&nbsp“exit”函数卸载程序;&nbsp
MicroStation退出时可自动卸载MDL程序;&nbsp
应用程序发生严重错误时会自动退出;&nbsp
在一个应用中卸载另一个应用使用MicroStation内部函数mdlSyatem_unloadMDLProgram;&nbsp
在MDL调试器中使用QUIT命令可以卸载一个应用程序。

发表评论

您的邮箱不会被公开。* 为必填项