我用C++写了一个COM组件 不用说C++中肯定是可以用的
用VBScript JavaScript都可以正常调用在C#中的时候函数可以调用,但就是没能够成功执行。
我也按照http://www.cppblog.com/mzty/archive/2007/06/04/25522.html上面说过的方法试了
都不行,不知道是否有大哥遇到与小弟相似的情况,还望告知一二 多谢先了
用VBScript JavaScript都可以正常调用在C#中的时候函数可以调用,但就是没能够成功执行。
我也按照http://www.cppblog.com/mzty/archive/2007/06/04/25522.html上面说过的方法试了
都不行,不知道是否有大哥遇到与小弟相似的情况,还望告知一二 多谢先了
1。你的组件在系统注册。
既然你VBSCRIPT能调用,那说明已经注册成功。
2。在C#项目组,添加现存项,选择COM标签,找到你已经注册好的COM组件,打上勾,系统会自动加入引用。
系统会自动生成你的COM组件对应的COM类对象和接口。
直接使用COM对象类生成实例,即可调用里面的方法。
http://topic.csdn.net/u/20090525/11/233dea6d-b7fb-478c-a824-651dc185b791.html
http://blog.csdn.net/Muf/archive/2006/04/10/656920.aspxhttp://www.newbt.net:8080/main/bbs/show.jsp?wb_tag=0&id=4300&page=0http://www.codeproject.com/KB/mcpp/UxThemeToolPort.aspxhttp://hi.baidu.com/char_string/blog/item/cfd0991611c4204621a4e97b.html
肯定注册了 我自己用手动用regsvr32注册的
C#里函数都成功调用了,就是没有达到预期的目的
这个就不是调用的问题。这个要检查你COM的实现代码了。
调用的时候,只有你COM里面才知道哪儿出了问题。C#只是传参数进去,然后接收结果。
既然没出现异常,也正确执行了,但是结果不对,那只可能说COM里面出了问题,在COM里面加上调试语句,检查问题所在!很有可能是参数格式问题导致的,根据我的经验。
奇怪了在C++ VBS JS却能够成功执行
还有C#没有成功执行要不,就发现不了这个错误了
谢谢大家的支持 结贴