VC6.0中,如何调用DLL中的CStringArray或CString数组?连接、编译都正常,错误在哪?DLL该怎么修改? 30
DLL中头文件中定义FileFun_APILONG__stdcallGet_XML(LPCTSTRstrHead,LPCTSTRstrBODY,CString*aryTe...
DLL中头文件中定义
FileFun_API LONG __stdcall Get_XML(LPCTSTR strHead,LPCTSTR strBODY,CString* aryText,CString* aryData,LPCTSTR strDemo);
实现文件中
FileFun_API LONG __stdcall Get_XML(LPCTSTR strHead,LPCTSTR strBODY,CString* aryText,CString* aryData,LPCTSTR strDemo)
{
strHead=structXMLData.strXMLHead;
strBODY=structXMLData.strXMLBODY;
for(INT iTempi=0;iTempi<lXMLColMax;iTempi++) {
*(aryText+iTempi)=structXMLData.aryXMLText.GetAt(iTempi);
*(aryData+iTempi)=structXMLData.aryXMLData.GetAt(iTempi);
}
strDemo=structXMLData.strXMLDemo;
return lXMLColMax;
}
在程序中调用如下:
CString strTempm[2000],strTempn[2000];
LONG lTempi=Get_XML(strTempi,strTempj,strTempm,strTempn,strTempk);
调用过程中,在For循环里报错,为什么?怎么解决? 展开
FileFun_API LONG __stdcall Get_XML(LPCTSTR strHead,LPCTSTR strBODY,CString* aryText,CString* aryData,LPCTSTR strDemo);
实现文件中
FileFun_API LONG __stdcall Get_XML(LPCTSTR strHead,LPCTSTR strBODY,CString* aryText,CString* aryData,LPCTSTR strDemo)
{
strHead=structXMLData.strXMLHead;
strBODY=structXMLData.strXMLBODY;
for(INT iTempi=0;iTempi<lXMLColMax;iTempi++) {
*(aryText+iTempi)=structXMLData.aryXMLText.GetAt(iTempi);
*(aryData+iTempi)=structXMLData.aryXMLData.GetAt(iTempi);
}
strDemo=structXMLData.strXMLDemo;
return lXMLColMax;
}
在程序中调用如下:
CString strTempm[2000],strTempn[2000];
LONG lTempi=Get_XML(strTempi,strTempj,strTempm,strTempn,strTempk);
调用过程中,在For循环里报错,为什么?怎么解决? 展开
1个回答
展开全部
可以把工程发给我么?coolchae@gmail.com,我帮你看看
我习惯性将~__stdcall放到FileFun_API 里面
例子:
#define MYAPI _declspec(dllexport) _stdcall
extern "C"{
int MYAPI sum(int, int);
void MYAPI print_msg(char *msg);
void MYAPI hello();
}
我习惯性将~__stdcall放到FileFun_API 里面
例子:
#define MYAPI _declspec(dllexport) _stdcall
extern "C"{
int MYAPI sum(int, int);
void MYAPI print_msg(char *msg);
void MYAPI hello();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询