
MDL
文章平均质量分 62
MDLFANS
这个作者很懒,什么都没留下…
展开
-
模板方法模式 C++实现
最好的学习设计模式的方法就是用最简单的原创 2014-08-31 19:06:22 · 1040 阅读 · 0 评论 -
不够彻底的桥接方式 - 读《设计模式》
刘伟主编的大学专业教程的《设计模式》中关于桥接模式的一个例子1原创 2014-08-20 22:58:06 · 798 阅读 · 0 评论 -
Bridge模式 - 《Design patterns Explained》心得
#include "createElement.h"extern"C" DLLEXPORT int MdlMain(int argc,char** argv){ DPoint3d pts[] = { {0,0,0}, {10000,0,0}, {10000,10000,0}, {0,10000,0}原创 2014-08-08 10:31:47 · 850 阅读 · 0 评论 -
设计模式的混合使用
设计模式本来就是一些成熟的使用方法,原创 2014-06-15 19:12:36 · 3350 阅读 · 0 评论 -
vc 2005运行时的问题导致在客户机上不能运行
把mdl程序移植到另外一台电脑上运行,问题多多,让我始料未及,我以为在目标机器上安装了VC2005分发包:vcredist_x86.exe 就可以万事大吉了,结果牛B的微软再一次让我领教到了他的厉害...再一次被折磨. 但是我打开清单文件一看: 发现嵌入的清单文件都是version="8.0.50727.4053"这个版本,难原创 2014-06-07 19:28:17 · 775 阅读 · 0 评论 -
在mdl中的Qt消息重定位
这种重定位简直太完善了,简直是为mdl开发量身定制的。 void mdlMessageOutput (QtMsgType type, const char *msg){ switch (type) { case QtDebugMsg: mdlcout << msg << endl; break;原创 2013-12-07 16:58:14 · 1264 阅读 · 0 评论 -
mdl编程心得
这个工具是我花了一个晚上写的,又化了一个晚上进行的整理和界面。感觉是最近写的比较完整而几乎没有bug的工具了。几个体会:1)思想上要成熟2)代码要有条理,易维护3)界面简单4)不写长代码,越长藏匿的垃圾和虫子越多5)STL真是个好东西呀,仅仅std::sort和std::unique和std::erase这几个函数加上自定义类型构成了核心的算法。点击打开链接原创 2012-06-05 04:59:59 · 1528 阅读 · 3 评论 -
STL最小值算法
如果是STL容器,最小值算法返回迭代器,如果是数组,则返回地址。下面是求的一个DPoint3d数组中距目标点最短距离的点:struct distanceCriteria : std::binary_function{ distanceCriteria(DPoint3d* targetPt):m_targetPt(*targetPt){} bool ope原创 2013-09-05 19:04:35 · 1559 阅读 · 0 评论 -
boost的bind为何导致vc2005编译器崩溃
bind与标准库配合可以少些不少的FunctionObject。代码极易维护。但似乎某些编译器支持不好,即使是VC2005.下面这段代码是不能通过编译的: std::sort(profPointsP.begin(),profPointsP.end(), boost::bind( std::less(), boost::bind(&PointOnProfile::get原创 2012-07-22 13:42:27 · 946 阅读 · 0 评论 -
mdl c++API和BOOST_AUTO&BOOST_FOREACH
C++0X已经发布啦,如果你用的是旧编译器,好多东西用不上,如typeof和auto;我用mdl C++ API还是VS2005,因为不想换别人的机子还带个10.0的运行时过去。boost中的BOOST_AUTO在旧编译器上也可以使用auto的特性.在遍历ElementAgenda的时候,才开始,可能不知道是声明一个什么变量,是EditElementHandl还是EditElement原创 2012-03-19 12:23:29 · 2471 阅读 · 1 评论 -
如何将流输出到MicroStation各个窗口
在mdl的debug的时候,输出字符串和数字,或者字符+数字,用sprintf,写一堆,而mdl中的ElementID是int ?uInt32还是?得判断好,你是不是觉得很麻烦,如果像c++的cout那样能够输出到mdl窗口就好了。下面这个模板函数可以作为一个轻量级的解决方案:typedef void(*outFuncP)(char*);templatevoid mdlDebugP原创 2012-03-07 06:04:57 · 1415 阅读 · 0 评论 -
qmake编译dll
qmake是Qt的make工具,但不仅仅用于Qt,看用在很多方面。比如编译NativeCode的时候。mdl是靠手工编辑make文件,如果借助VC的话,要配置很多选项和配置很多输入库和头文件搜索路径等,麻烦的很。有了qmake,这一切都解决了。在mstndevvars.bat中增加一行:CALL D:/qt4.4.3/bin/qtvars.bat则当前的环境即可以调原创 2012-02-26 22:12:20 · 2414 阅读 · 0 评论 -
用Qt制作mdl程序启动界面
Qt的QSplashScreen是制作软件的启动时加载一张图片,启动完成,则消失。mdl开发的插件也可以在启动时候来个类似的动作。用mdl || Nativecod制作,不知要写多少,用Qt简单多了。将下面的函数到MdlMain里,就ok了。不需要QSplashScreen的finished函数了。#include "stdafx.h"#include #include #inc原创 2012-02-25 21:17:49 · 1836 阅读 · 1 评论 -
Qt的pro文件比mdl的make更简洁
TEMPLATE=libDEFINES += winNTTARGET = DEPENDPATH += . GeneratedFilesINCLUDEPATH += "d:\progra~1\bentley\micros~1\micros~1\mdl\include"LIBS += -L"d:\progra~1\bentley\micros~1\micros~1\mdl\library"原创 2012-02-22 23:43:40 · 1321 阅读 · 1 评论 -
MDL中使用真彩色图标
方法1:使用rsc资源文件制作如下的mke文件,制作成一个包含有真彩色图标的资源文件,将资源文件放到..\microstation\icons\下即可使用里面的真彩色图标,使用方法见方法2中的资源定义;rscName=ico.rscrscFile = $(baseDir)$(rscName)BUILD_USING_NoToolset = 1NO_COMPILERS_MKI原创 2012-02-04 22:58:54 · 1245 阅读 · 0 评论