gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:2768回复:4

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

楼主#
更多 发布于:2003-07-27 00:34
一、MicroStation的开发工具

UCMs ………… User Commands
MicroCSL …… MicroStation Customer Support Library
MDL …………… MicroStation Development Language
二、何为MDL

MDL是MicroStation的“应用引擎(Application Engine)”,MDL可以直接在MicroStation中运行并且表现为MicroStation本身的一部分。许多MicroStation的命令都可以在MDL中应用。

 

MDL的组成
 

 

标准C (ANSI C) 程序设计语言(当然有某些限制和扩展);
一整套开发工具(包括C编译器、连接器、链接库、资源编译器和资源库、Make程序以及调试工具);
MicroStation内部的用于执行MDL应用程序的伪码解释器;
MicroStation内部的MDL调试器;
大量的运行库函数;
可以改变MicroStation各种行为的钩子(Hooks)函数,所谓钩子函数是指那些在某种事件发生时被MicroStation自动执行的函数;
GUI开发工具,可以用于开发基于Motif的图形用户界面(包括:对话框、下拉菜单等);
资源管理器;
 

运行及卸载MDL应用程序
 

 

在MicroStation命令窗口中运行MDL应用时,可以指定一个应用名称和任务识别码(Task ID),其中前者是必须的。具体使用方法如下:

 

MDL LOAD|SILENTLOAD [DEBUG|NODEBUG] <应用名> [,<任务识别码>] [<参数>]

 

MicroStation将首先在当前目录下查找用户在命令行中指定的应用,如果找不到,再到由MicroStation环境变量MS_EXE和MS_MDL指定的目录下去寻找。

如果用户未指定应用程序的扩展名,MicroStation将首先寻找无扩展名的文件,其次才是.MA文件和.RSC文件。因此运行时最好键入应用程序的全名。

卸载 MDL应用的命令为:

MDL UNLOAD|SILENTUNLOAD [<任务识别码>]

 

MDL应用还可以在MDL对话框中装载运行,该对话框如图1-1所示。通过MDL对话框也可以卸载MDL应用。

 

五、MDL的高级调用方式

在一个MDL应用中调用另一个MDL应用:使用MicroStation的内部函数mdlSystem_LoadMDLProgram;
在MicroStation初始化时(打开DGN文件之前或者进入图形模式之前)调入MDL应用:使用环境变量MS_INITAPPS和配置变量MS_DGNAPPS,如果要调用多个MDL程序,用分号(;)隔开,语法如下:MS_DGNAPPS=应用程序名[,任务识别码] [/D];
在DGN文件打开时运行MDL应用:使用mdlSystem_CreateStartupElement函数在DGN文件中创建一个启动元素(Start-up Element,类型代码为66),即可在MicroStation打开DGN文件后立即运行指定的MDL程序;
KEYIN应用:MDL KEYIN <应用名> <命令字串>。
 

六、MDL的高级卸载方式

在程序中使用标准C的 “exit”函数卸载程序;
MicroStation退出时可自动卸载MDL程序;
应用程序发生严重错误时会自动退出;
在一个应用中卸载另一个应用使用MicroStation内部函数mdlSyatem_unloadMDLProgram;
在MDL调试器中使用QUIT命令可以卸载一个应用程序。


喜欢0 评分0
y0106598
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数373
  • QQ
  • 铜币869枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2003-08-01 15:29
抄的别人的吧,到处都有
我是一个普通的人, 普通的就像上帝!
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2003-08-01 16:23
是抄的
我没水平,还写不出,呵呵,不好意思!
举报 回复(0) 喜欢(0)     评分
y0106598
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数373
  • QQ
  • 铜币869枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2003-08-06 11:29
不过我还是支持你,斑竹!!
我是一个普通的人, 普通的就像上帝!
举报 回复(0) 喜欢(0)     评分
guyanf
路人甲
路人甲
  • 注册日期2003-07-29
  • 发帖数123
  • QQ
  • 铜币409枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2003-09-06 12:48
最好搞到一个软件,让大家边学便用,要不光说是没有用处的
我是流氓我怕谁! (国)灌字准号:2003-007 ╔╦╗╔╦╗╔╦╗╔╦╗ ╠灌╣╠水╣╠专╣╠用╣ ╚╩╝╚╩╝╚╩╝╚╩╝ 中共中央国务院灌水办
举报 回复(0) 喜欢(0)     评分
游客

返回顶部