MFC中CArray类在vs和vc中实现机制是否相同
我在VS2010中封装了库,dll中包含了一个导出函数,函数参数是一个入参CArray模版类,然后在vc中调用这个导出函数,但是CArray类在vs和vc中貌似实现机制不...
我在VS2010中封装了库,dll中包含了一个导出函数,函数参数是一个入参CArray模版类,然后在vc中调用这个导出函数,但是CArray类在vs和vc中貌似实现机制不一样,在vc获取到数据调用CArray中的接口时(譬如CArray.getAt(),CArray.RemoveAll()等),会报一系列的错误,求解?
展开
展开全部
首先第一点,你的dll工程是那个类型的,mfc建立动态链接库类开总共有三种,
1.0 VC++动态链接库编程之非MFC DLL 只能被非mfc类型的接口的程序调用
2.0 VC++动态链接库编程之MFC 规则DLL 只能被mfc类型的程序调用
3.0 VC++动态链接库编程之MFC 扩展DLL
三种类型的调用方式,会有不同的。你了解一下,这三种类型。
1.0 VC++动态链接库编程之非MFC DLL 只能被非mfc类型的接口的程序调用
2.0 VC++动态链接库编程之MFC 规则DLL 只能被mfc类型的程序调用
3.0 VC++动态链接库编程之MFC 扩展DLL
三种类型的调用方式,会有不同的。你了解一下,这三种类型。
追问
dll是VC++动态链接库编程之MFC 扩展DLL。
vc下调用该dll的工程自身也是 扩展的dll.
调试到CArray.getAt(),CArray.RemoveAll()会报错,调试CArray.GetSize()可以获取到接口返回值。
追答
调用GetAt(nIndex)和RemoveAll()你要确保,是否具有数据。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询