我用vc做了个dll给delphi程序调用,dll中的函数被delphi程序定时调用,函数如下:
if (!AfxSocketInit()){
::AfxMessageBox("socetfail!1");
return FALSE;
}
CSocket *socketme = new CSocket;
if(!(socketme->Create()))
::AfxMessageBox("false!");
else
::AfxMessageBox("true!");
若socket没有初始化,则delphi程序每秒弹出一个false
若socket初始化,则delphi程序第一次弹出true,以后每次socket初始化都成功
但任何消息都不弹出,也就是说,dll在socketme->Create()不动了
但在vc中调用则没有问题!
高手赐招!
if (!AfxSocketInit()){
::AfxMessageBox("socetfail!1");
return FALSE;
}
CSocket *socketme = new CSocket;
if(!(socketme->Create()))
::AfxMessageBox("false!");
else
::AfxMessageBox("true!");
若socket没有初始化,则delphi程序每秒弹出一个false
若socket初始化,则delphi程序第一次弹出true,以后每次socket初始化都成功
但任何消息都不弹出,也就是说,dll在socketme->Create()不动了
但在vc中调用则没有问题!
高手赐招!
解决方案 »
- SetClassLong以前win32的思想,来到了MFC就不管用了
- 恢复 被禁用的菜单项 的问题
- 如何把MFC转为系统服务程序
- 在command.exe/cmd.exe中输入rename或者其他指令,我怎样知道用户执行什么操作,以及详细操作
- 一般运用程序用的 OCX 和WEB 调用的 OCX有区别吗?
- 在vc中如何产生0~1之间的随机数
- 简单问题,在线等!
- 百分求教--如何返回鼠标所在点的相对坐标植?急!
- Access数据库的惊奇发现!!!!!!!!!!来者有分!
- 编写逻辑仿真小软件有什么好的参考书?
- 为赔别人发票,需买书.请兄弟们推荐VC++的好书,要有点深度的!
- 在拨号得服务端如何检测当前是否有拨入的连接?
是不是这个函数在DELPHI中没有正常初始化SOCKET哦!
我也不清楚DELPHI是怎么弄的啦,你到DELPHI那边去问问咯!
还有dll里面用到的类,是不是mfc自己所有
1、什么叫socket库没有初始化?怎么初始化?
2、dll是常规dll,可以在delphi中调用
::AfxMessageBox("socetfail!1");
return FALSE;
}
有可能放的位置不对,应该在DLL加载的时候使用上面的语句(可能多次SocketInit了)
::AfxMessageBox("socetfail!1");
return FALSE;
}
是不是重复初始化了?
另外,if (!AfxSocketInit()){
return FALSE;
}
我确保没问题,也没卡住!
唉!我看这个问题没看全代码是解决不了了,再放两天,碰运气了!
CString str;
str.Format("%d", (int)m_Ctrlsok);
::AfxMessageBox(str);
弹出socket值不为0,那怎么会进入异常啊?
int select(
int nfds,
fd_set* readfds,
fd_set* writefds,
fd_set* exceptfds,
const struct timeval* timeout
);
可以捕捉异常,高手能不能给你例子啊!