请问:如何正确地在DLL中的一个导出的类的声明里加CSocket对象

sproll 2004-09-22 10:08:43
各位大虾,小弟制作了一个扩展DLL,在该扩展DLL中添加一个类,并将该类声明为__declspec(dllexport)导出。小弟发现,如果我在该类中添加一个CSocket成员对象,或者在成员函数中使用socket API,会导致引用该DLL中的这个类的对话框程序启动时出错,错误报告是:First-chance exception in TestDlg.exe: 0xC0000005: Access Violation.
而小弟在制作该扩展DLL时是选择了支持socket的,DLL的初始化函数中是有:
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
那么小弟是在什么地方还在做什么工作才能解决这个问题呢?跪求!
...全文
96 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sproll 2004-09-22
  • 打赏
  • 举报
回复
解决了!我想我出错的原因是:
我在引用DLL的对话框中,添加的导出类声明中去掉了类声明中的protected成员变量,引起对话框程序在创建这个类实例的时候,未给它的成员变量分配空间,所以出现了内存操作错误。
DentistryDoctor 2004-09-22
  • 打赏
  • 举报
回复
Sorry-导出vs导入。
DentistryDoctor 2004-09-22
  • 打赏
  • 举报
回复
我看了,导入的接口与导入的接口不一致造成的。
nwpulipeng 2004-09-22
  • 打赏
  • 举报
回复
贴出代码看看!!
DentistryDoctor 2004-09-22
  • 打赏
  • 举报
回复
可否将代码发给我,我仔细看一下。
DentistryDoctor@msn.com

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧