设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4164|回复: 2

[求助] emplant的COM接口问题

[复制链接]
发表于 2009-12-9 20:38:41 | 显示全部楼层 |阅读模式
emPlant的帮助文档里关于如何使用COM技术来被其他应用程序的调用的部分写的太不详细了!而且也没有例子,我对COM不怎么熟悉,没写过具体的COM,而帮助文档里只提了下JScript调用的方法,即:
1 l: z$ _! r" `
var eMPlant = WScript.CreateObject("Tecnomatix.eMPlant.RemoteControl.7.5");
% b; H, d/ O, K3 @# |8 _
但是没提VC++的调用,只写了这么一段乱七八糟的东西:
' d4 h' f( _+ z$ R( R+ Vinterface IRemoteControl : IDispatch
; {/ Y  e' @5 C# m) {; L{
6 Y* x6 ^  @2 Y( D$ A: F; L* B     HRESULT NewModel(); ) _1 v  i6 ], j7 x; g; N( G
     HRESULT LoadModel(BSTR);
5 t3 U: m" n# `/ S) E& g* `' l     HRESULT SaveModel(BSTR); 5 L- i+ M0 ~  ]  b1 [* d
     HRESULT CloseModel();
6 A# K# u9 q; G7 N' U! Y1 Q     HRESULT StartSimulation(BSTR); : [$ M; _6 Y- h$ Y& `
     HRESULT StopSimulation();
, V" g9 T+ L3 \- A1 Q     HRESULT ResetSimulation(BSTR); ! c. q% c6 V$ M+ b# g
     HRESULT IsSimulationRunning([out,retval]VARIANT_BOOL*); ' O" l8 I% {5 Y% ]' ~
     HRESULT SetPathContext(BSTR);
% O2 \" O: r2 G5 _     HRESULT ExecuteSimTalk(BSTR,[optional]VARIANT,[out,retval]VARIANT*);
) t; c; a3 p- s. l' Q6 j     HRESULT GetValue(BSTR,[out,retval]VARIANT*); * X9 ]5 P7 [. \+ S- r6 M; {* G
     HRESULT SetValue(BSTR,VARIANT); ; a- U  q) r) z
     HRESULT Quit();
; b  D  x6 ^4 [0 b};
/ p  m# N# s) y$ m3 @6 P我猜测这个只是它内部的实现方式而已,对我没什么用,我希望知道的是如何用VC++调用它,实现远程控制的目的。哪位高手知道怎做的能否指点下?
 楼主| 发表于 2009-12-11 16:00:35 | 显示全部楼层
已搞定,用IUnkonwn和IDispatch接口(实际上就是继承自前者)写COM均可实现,Teco太不厚道了,故意隐藏功能waiting for experts实现啊~哈哈
发表于 2010-1-11 21:56:32 | 显示全部楼层
COM接口是用来连接Excel的,这些语句是用来编写VBA的,用VBA调用和控制Plant。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-4-30 05:10 , Processed in 0.018823 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表