请问:Indy9移植到Indy10出现的问题
由于Indy9中的TIdAntiFreeze有些BUG,经常的死掉,以及听说在实际的使用中,INDY10更加的稳定,所以我把代码移植到Indy 10中,其他的方法还比较好做,比如ReadLn,WriteLn的前面加入Socket.就可以了,但是我在WriteBuffet这个方法中遇到了问题,在10中没有这个方法,只有一个Write,但是这个我不会用。
我的目的是,把一个结构,发送给另一端。Indy 9的代码如下:
定义:
TUserInfo = record
USERID: string[20]; //用户ID
DESCRIPT: string[30]; //用户描述
PASSWORD: string[20]; //Passwd
SEX: string[2]; //性别 男 女
PHS: string[40]; //小灵通
MOBILE_TELEPHONE: string[40]; //移动电话
TELEPHONE: string[50]; //固定电话
IP_ADDRESS: string[20]; //IP地址(登录更新)
COLUMN1: string[50]; //备用1
END;
函数中的代码:
//调用专用函数进行登录判断
t_tRetval.iRetval := OrderToLogin(t_IXMLDoc, t_oUserInfo, t_strErrMsg);
t_tRetval.strErrMsg := t_strErrMsg;
t_ActClient.UserID := t_oUserInfo.USERID;
//把用户信息返回
AThread.Connection.WriteBuffer(t_oUserInfo, SizeOf(t_oUserInfo), true);
客户端读取:
//系统会返回数据是否通过
IdTCPClient1.ReadBuffer(m_oUserInfo, SizeOf(m_oUserInfo));
各位,Indy10中应该如何写呢?请指教!