vc++如何传值给vb编写的dll中string类型参数???
假设vb编写的dll中有方法public function exportNodeAttribute(filePath as string)
用vc++调用这个dll,但是运行到ptrxptXML->exportNodeAttribute("c:\\3.xml");的时候就报错:
error C2664: 'exportNodeAttribute' : cannot convert parameter 1 from 'char [9]' to 'unsigned short ** '
请问这是怎么回事?
问题点数:30、回复次数:7Top
1 楼handsomge(汗衫)回复于 2005-07-22 16:11:15 得分 10
CString str = "c:\\3.xml"
ptrxptXML->exportNodeAttribute( str.AllocSysString());Top
2 楼trademark2004()回复于 2005-07-22 16:19:12 得分 0
还是报同样的错误。Top
3 楼trademark2004()回复于 2005-07-22 16:25:00 得分 0
现在变成了cannot convert parameter 1 from 'unsigned short *' to 'unsigned short ** 'Top
4 楼tutu_cloud(拔光毛的兔兔)回复于 2005-07-22 16:47:31 得分 20
CComBSTR bstr = "c:\\3.xml";
ptrxptXML->exportNodeAttribute( &bstr );
试试看,不过怎么感觉象一个out的参数。。。Top
5 楼trademark2004()回复于 2005-07-22 22:12:49 得分 0
出现新的报错:
C:\Documents and Settings\...\XMLParser\XMLParserDlg.cpp(96) : error C2065: 'CComBSTR' : undeclared identifier
C:\Documents and Settings\...\XMLParser\XMLParserDlg.cpp(96) : error C2146: syntax error : missing ';' before identifier 'bstr'
C:\Documents and Settings\...\XMLParser\XMLParserDlg.cpp(96) : error C2065: 'bstr' : undeclared identifier
C:\Documents and Settings\...\XMLParser\XMLParserDlg.cpp(96) : error C2440: '=' : cannot convert from 'char [9]' to 'int'Top
6 楼trademark2004()回复于 2005-07-22 22:15:12 得分 0
public function exportNodeAttribute(filePath as string)
中的参数是要传给vb一个文件的路径,vb程序对这个文件处理。
如果不要这个参数,也就是在vb中设置默认路径c:\\3.xml,用vc调用的时候一切正常。Top
7 楼trademark2004()回复于 2005-07-23 13:53:58 得分 0
自己再顶顶吧。。。Top




