设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4341|回复: 2

[求助] emplant的COM接口问题

[复制链接]
发表于 2009-12-9 20:38:41 | 显示全部楼层 |阅读模式
emPlant的帮助文档里关于如何使用COM技术来被其他应用程序的调用的部分写的太不详细了!而且也没有例子,我对COM不怎么熟悉,没写过具体的COM,而帮助文档里只提了下JScript调用的方法,即:
  U; q9 j5 T4 G2 H# D8 h
var eMPlant = WScript.CreateObject("Tecnomatix.eMPlant.RemoteControl.7.5");
0 {2 U6 \5 S, I& p% e
但是没提VC++的调用,只写了这么一段乱七八糟的东西:
5 w2 g$ J1 F: C. N# {5 z, l# V9 d; Jinterface IRemoteControl : IDispatch
( I, F/ n  j" F' I/ Q: o{
4 Y. l& s+ b; D7 s* f9 t9 ^" {     HRESULT NewModel();
; B# {( A5 g9 {& p- h     HRESULT LoadModel(BSTR);
3 P9 S/ r* E: R8 l     HRESULT SaveModel(BSTR); 6 A0 t/ `6 c) z# f
     HRESULT CloseModel(); 9 A% T5 w# b5 T' ?. ~
     HRESULT StartSimulation(BSTR);
* E) r( b9 W+ d" \$ E     HRESULT StopSimulation();
% ?2 i+ z6 g0 [' T     HRESULT ResetSimulation(BSTR);
* B: R( J( J7 I6 s     HRESULT IsSimulationRunning([out,retval]VARIANT_BOOL*); / \8 O+ s5 W) i+ B) X/ V  S
     HRESULT SetPathContext(BSTR);
3 Q( O4 Y, N, N& ~     HRESULT ExecuteSimTalk(BSTR,[optional]VARIANT,[out,retval]VARIANT*);
" Z& l7 E$ e8 {$ B9 V     HRESULT GetValue(BSTR,[out,retval]VARIANT*); 4 x) E- O1 e) K: G1 b
     HRESULT SetValue(BSTR,VARIANT);
; N9 C* [" d$ V0 |, e! b/ O+ C     HRESULT Quit();
9 y  Z: L* V3 ~( v) O1 |4 D9 U};
/ u: ]" r* t1 Z5 L% b# f我猜测这个只是它内部的实现方式而已,对我没什么用,我希望知道的是如何用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-6-21 23:41 , Processed in 0.016687 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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