设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3268|回复: 2

[求助] emplant的COM接口问题

[复制链接]
发表于 2009-12-9 20:38:41 | 显示全部楼层 |阅读模式
emPlant的帮助文档里关于如何使用COM技术来被其他应用程序的调用的部分写的太不详细了!而且也没有例子,我对COM不怎么熟悉,没写过具体的COM,而帮助文档里只提了下JScript调用的方法,即:
/ o# {- G" U% T1 V" O0 g9 P* C
var eMPlant = WScript.CreateObject("Tecnomatix.eMPlant.RemoteControl.7.5");

! m; d) Q/ ^$ h) F$ F9 `* P7 \但是没提VC++的调用,只写了这么一段乱七八糟的东西:
; B5 f: u0 Q' Y7 Tinterface IRemoteControl : IDispatch
2 w, G1 b9 M; N/ t{
. ^3 j* v3 y6 M- y4 ^6 V7 G: k- y     HRESULT NewModel();
- T' j1 l) a" e* _3 J& x4 \     HRESULT LoadModel(BSTR); 9 O( G! c+ e, g! y
     HRESULT SaveModel(BSTR); 6 p! U1 J; H9 z9 v
     HRESULT CloseModel(); + U. I. P2 z$ c: {
     HRESULT StartSimulation(BSTR); ! O( q6 E( _0 A( }" l. Y5 Q; l
     HRESULT StopSimulation(); 7 p0 P. _' P- N7 K. j! ?2 F
     HRESULT ResetSimulation(BSTR); - h# S& M, w- e2 b
     HRESULT IsSimulationRunning([out,retval]VARIANT_BOOL*);
4 B2 X  z! N* E/ r% `2 n4 x' `7 R     HRESULT SetPathContext(BSTR); - Y- z, y6 u- y. C) Q) ^$ D
     HRESULT ExecuteSimTalk(BSTR,[optional]VARIANT,[out,retval]VARIANT*);
- h7 P4 R3 L5 l5 q- H, n3 {     HRESULT GetValue(BSTR,[out,retval]VARIANT*); 0 v; }! _9 K( s% r$ K3 f
     HRESULT SetValue(BSTR,VARIANT); & G* j: s# O- ]- ?$ x/ ~; {
     HRESULT Quit();
* b+ S" S+ r" f0 v. t& m; p: ~2 D5 h};
( ?- ], H  D) D% N! c  i; T我猜测这个只是它内部的实现方式而已,对我没什么用,我希望知道的是如何用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, 2025-9-11 06:13 , Processed in 0.014249 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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