iCAx开思工具箱

标题: 请教SldWorks二次开发的问题(有一定难度) [打印本页]

作者: 刘煜    时间: 2003-11-26 17:52
标题: 请教SldWorks二次开发的问题(有一定难度)
在装配环境中:pChildren = new LPCOMPONENT [nChildren];  
hres = pComponent->IGetChildren((LPCOMPONENT**)[$pChildren)]
  DisplayError(hres);
这段代码在Add_ins即DLL中能正常执行,但是在另外一个独立进程(如exe程序)中,第一行代码正常执行,pChildren被赋有效的值,但在执行第二行时,pChildren变为空,第三行代码执行的结果显示错误:传递空引用指针到承载体。请高手教我一个解决办法!谢谢!
作者: mwd121    时间: 2003-11-28 19:11
请看如下介绍:
VC++ compiler error for Component2::IGetChildren
  
The signatures between the versioned interfaces are slightly different and this was done to fix COM marshalling problems. A revised code fragment is below :
Old:
LPCOMPONENT* arr = new LPCOMPONENT[10];
comp->IGetChildren([$arr)]
  
New:
LPCOMPONENT2 * arr2 = new LPCOMPONENT2[10];
comp2->IGetChildren(arr2);
作者: 刘煜    时间: 2003-12-2 15:46
果然是高手!再次向mwd121表示感谢!顺便再问一下,用VC以EXE方式使用SldWorks的COM还有哪些限制?你摘录的介绍是从哪里找到的?
作者: wzhing    时间: 2003-12-3 14:27
按照第二楼朋友的做法,我也试了一下,得到的组件数组中只有第一个成员有值,其它的值都为0, 请问一下如何对装配图中的所有子结点进行遍历呢?
作者: wzhing    时间: 2003-12-3 14:57
关于摘录的出处我已经找到,但还没有找到解决此问题的办法,哪位大侠快帮帮忙!!
https://files.solidworks.com/API/Examples/00000/0100s/0164/Example.htm
作者: mechl    时间: 2003-12-5 00:12
      我现在用vc二次开发solidworks,但在solidworks网站上没有找到开发向导文件swizard.awx,不知谁有,给出下载地址或发到mechl@sohu.com邮箱,不胜感谢!另外谁有这方面的资料,望给予帮助.先谢谢各位.




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3