uesoft 发表于 2009-12-26 11:39:00

[分享]AutoPDMS仿PDMS命令行的实现

<div class="quote"><b>以下是引用<i>uesoft</i>在2007-11-20 17:39:58的发言:</b><br/>目前在BascCommand中加入了CmdLine命令,此命令是显示命令行窗口。<br/><br/>在命令行窗口中可以执行以下命令(命令是根据PDMS中所描述的进行注册的):<br/><br/>查询当前节点属性  Q Att<br/>查询类型  Q Type<br/>命令行清屏   Alpha request clear<br/>新建  New (Type)<br/>删除  Delete (Type) 或 Delete<br/>命名 Name /Newname<br/>查询节点属性 Q (attName) <br/>锁定 Lock ce<br/>解锁 Unlock ce<br/>加入显示 Add CE<br/>移去显示 Remove CE<br/>查询成员 Q Mem<br/>查询第n个成员属性 Q Mem (n)<br/>查询当前工程 Q project<br/><br/>查询某个类型属性 Q att of (Type)<br/><br/>查询当前节点以上类型节点的属性 Q (Type)<br/><br/>修改节点属性 (attName) (attValue) //指针引用不可以修改<br/><br/>导航<br/>下一层次第n个节点 (n)<br/>本层次第一个节点 First<br/>本层次最后一个节点 Last<br/>下一个节点 Next<br/>前一个节点 Previous<br/><br/>当前节点以上的节点 (Type)<br/><br/>回到上一次的层次 Owner或End<br/><br/>追踪参考 Goto (引用属性名)<br/><br/>文件输出<br/>File /D:\output.txt<br/>Output CE<br/>File End<br/>执行宏程序 $m D:\output.txt<br/><br/>///////////////////////////////////////////////////<br/>各模块的命令没有实现<br/><br/>若各模块要实现某个特殊命令<br/>可以用以下方式注册:<br/>1.从CommandParser类派生一个类<br/>2.实现函数:<br/>virtual BOOL ExecuteCommand( CString&amp; strCommand ) = 0;<br/>strCommand:是执行完后要显示到命令窗口的字符串<br/>3.注册命令:<br/>REGISTER_COMMANDLINE_BEGIN( 从CommandParser类派生的类名 )<br/>REGISTER_COMMAND( _T( "命令关键字和参数") ) //如:Q (Type) 注册为 Q@ 其中@表示参数<br/>.<br/>.<br/>.<br/>REGISTER_COMMANDLINE_END()<br/><br/>在实现BOOL ExecuteCommand( CString&amp; strCommand )中可以通过CommandParams* CommandParser::GetCommandParams()得到命令关键字和参数对象<br/><br/>//////////////////////////////////////////<br/>现在各模块可将错误消息发送到命令窗口中<br/>请更新<br/>APDomainFrame和APCommandLineUI<br/><br/>发送消息代码:<br/>ErrorMessageParam* pParam = new ErrorMessageParam();<br/>pParam-&gt;m_strErrorMsg = _T("错误信息");<br/><br/>Message msg( PDMSFrame::eCMDLINE,PDMSFrame::eERRMESSAGE,pParam );<br/>MessageProcessor::Instance().SendMessage( &amp;msg );<br/><br/></div>

uesoft 发表于 2009-12-26 11:40:00

<div id="textstyle_3" style="FONT-SIZE: 14px; OVERFLOW: hidden; WORD-BREAK: keep-all; LINE-HEIGHT: 150%; WORD-WRAP: break-word;"><div class="quote"><b>以下是引用<i>白水6</i>在2009-12-25 22:34:04的发言:</b><br/><p>李总的objectARX很牛啊!我想问你一个问题,PDMS的数据库接口需要license怎么解决啊?</p></div><p><font face="Verdana">AutoPDMS8.1的开发大量使用ObjectARX,AutoPDMS软件凝聚着UESOFT全体开发人员的心血和智慧。我对他们表示深深的敬意。</font></p><p><font face="Verdana">AutoPDMS读取PDMS数据库需要使用如下文件,这些文件在AutoPDMS安装目录\Common Files下(例如D:\Program Files\长沙优易软件开发有限公司\AutoPDMS8.1\Common Files):</font></p><p><font face="Verdana">动态库文件    用于读取PDMS版本      备注</font></p><p><font face="Verdana">dformd.dll    各种版本都需要      <br/>d3lib115.dllPDMS11.5             (也许可用于11.6,但没测试过)<br/>d3lib.dll   PDMS11.3及以下版本   <br/>未知          PDMS其他版本         没有测试</font></p></div>
[此贴子已经被作者于2009-12-28 9:28:56编辑过]

uesoft 发表于 2009-12-28 09:27:00

<strong>以下是引用<i>白水6</i>在2009-12-26 17:55:02的发言:<br/></strong><p><font color="#000080"><font size="4"><strong>我在AutoPDMS中找到<font face="Verdana">d3lib115.dll 在PDMS11.5中使用还是不行。一样跳出license的要求!</font></strong></font></font></p>

uesoft 发表于 2009-12-28 09:31:00

<strong>以下是引用<i>uesoft</i>在2009-12-27 13:59:01的发言:<br/></strong><p>首先谢谢你的贴。</p><p>你要保证你的PDMS是可用的。PDMS本身的破解已经有很多文章了。如果动态库还不能访问,我就不清楚了。你可以周1-5 10:00-17:00 call 0731-88228807找刘经理或88228813或4006 808 590陈经理。</p>
页: [1]
查看完整版本: [分享]AutoPDMS仿PDMS命令行的实现