请问:如何正确地在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;
}
那么小弟是在什么地方还在做什么工作才能解决这个问题呢?跪求!
...全文
63 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
  • 打赏
  • 举报
回复
发帖
进程/线程/DLL

1.5w+

社区成员

VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
帖子事件
创建了帖子
2004-09-22 10:08
社区公告
暂无公告