求各位大虾救我一救,在线等,并顺带散分了,大家踊跃登陆阿 我做了一个程序,其中用到了Tserversocket来连接多个客户端,我用一个数组来保存客户端,现在出现一个问题了,程序偶尔在客户端登陆后,客户断开的时候,我这个程序也突然自动退出,大家有没有碰到过这个问题,我急阿,在线等,因为这个程序几天后就要交付使用,求各位大虾救救小弟 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 贴段代码,我怀疑错在其中的 ClientToSvr=record CHandle:Integer; //¿Í»§¶ËµÄÁ¬½Ó¾ä±ú CSocket:TCustomWinSocket; //¿Í»§¶ËµÄÌ×½Ó×Ö CName:string; //¿Í»§¶Ë»úÆ÷Ãû CAddress:string; //¿Í»§¶ËIP CConnect:integer; //¿Í»§¶ËÁª»ú±êÖ¾(0ΪδÁª»ú£¬·Ç0ΪÁª»ú£© CUsed:Boolean; //¿Í»§¶ËʹÓñêÖ¾ CPhone:string; //¿Í»§¶Ë·Ö»úºÅÂë CWork:boolean; //¿Í»§¶ËÊÇ·ñÕª¹¤×÷״̬,£¨Ï°࣬Àë¸ÚµÈµÈ£© CConnFlag:boolean; //¿Í»§¶ËÁ¬½Ó±êÖ¾ CType:integer; //¿Í»§¶ËÁ¬½ÓÀàÐÍ CConnCount:integer; //¿Í»§¶ËÁ¬½ÓµÄ×Ü´ÎÊý£¨88Ϊ¶Ï¿ª£© end; for i:=1 to conncount do begin if (not MemoClient[i].CConnFlag) then continue; if ConnectId>ConnCount then begin MemoClient[i].CConnFlag:=false; MemoClient[i].CWork:=false; Continue; end; if (MemoClient[i].CAddress=strip) or (strip='127.0.0.1') then begin ClientConnArr[Connectid].CHandle:=MemoClient[i].CHandle; ClientConnArr[connectid].CAddress:=StrIp; ClientConnArr[Connectid].CSocket:=MemoClient[i].CSocket; ClientConnArr[connectid].CName:=MemoClient[i].CName; ClientConnArr[Connectid].CConnFlag:=true; sgAlarmConn.Cells[0,ConnectId]:=sType+'½Ó¾¯Ï¯'; iRect:=sgAlarmConn.CellRect(1,ConnectId); iRect.Left:=iRect.Left+12; iRect.Top:=iRect.top+5; sgAlarmConn.Canvas.StretchDraw(iRect,imgConn.Picture.Icon); sgAlarmConn.Cells[2,ConnectId]:='Á¬½ÓÕý³£'; sgAlarmConn.Cells[3,ConnectId]:=StrIp; MemoClient[i].CConnFlag:=false; MemoClient[i].CWork:=false; end; sgAlarmConn.Refresh; break; end;其中,MemoClient和ClientConnArr是ClientToSvr类型的 fastReport中memoView显示中文时丢字如何解决 adoquery或ADOstoredproc的问题 數組賦值問題 有关插入数据的问题,请帮忙 FastReport 2.51轉換成ReportMachine2.6 请问这段语句为什么出错哦? 请教关于Delphi中的DBcombox的问题,急! 如何实现数据库的数据备份? 紧急求助!DBDateTimeEditEh使用问题(不知道是不是Bug) 大虾们 关于API的一个 问题 (在线等待) 哪位帮忙看看这个报表! 靠,我连CREATE 一个LABEL都写不了了,大家帮忙
ClientToSvr=record
CHandle:Integer; //¿Í»§¶ËµÄÁ¬½Ó¾ä±ú
CSocket:TCustomWinSocket; //¿Í»§¶ËµÄÌ×½Ó×Ö
CName:string; //¿Í»§¶Ë»úÆ÷Ãû
CAddress:string; //¿Í»§¶ËIP
CConnect:integer; //¿Í»§¶ËÁª»ú±êÖ¾(0ΪδÁª»ú£¬·Ç0ΪÁª»ú£©
CUsed:Boolean; //¿Í»§¶ËʹÓñêÖ¾
CPhone:string; //¿Í»§¶Ë·Ö»úºÅÂë
CWork:boolean; //¿Í»§¶ËÊÇ·ñÕª¹¤×÷״̬,£¨Ï°࣬Àë¸ÚµÈµÈ£©
CConnFlag:boolean; //¿Í»§¶ËÁ¬½Ó±êÖ¾
CType:integer; //¿Í»§¶ËÁ¬½ÓÀàÐÍ
CConnCount:integer; //¿Í»§¶ËÁ¬½ÓµÄ×Ü´ÎÊý£¨88Ϊ¶Ï¿ª£©
end;
for i:=1 to conncount do
begin
if (not MemoClient[i].CConnFlag) then continue;
if ConnectId>ConnCount then
begin
MemoClient[i].CConnFlag:=false;
MemoClient[i].CWork:=false;
Continue;
end;
if (MemoClient[i].CAddress=strip) or (strip='127.0.0.1') then
begin
ClientConnArr[Connectid].CHandle:=MemoClient[i].CHandle;
ClientConnArr[connectid].CAddress:=StrIp;
ClientConnArr[Connectid].CSocket:=MemoClient[i].CSocket;
ClientConnArr[connectid].CName:=MemoClient[i].CName;
ClientConnArr[Connectid].CConnFlag:=true;
sgAlarmConn.Cells[0,ConnectId]:=sType+'½Ó¾¯Ï¯';
iRect:=sgAlarmConn.CellRect(1,ConnectId);
iRect.Left:=iRect.Left+12;
iRect.Top:=iRect.top+5;
sgAlarmConn.Canvas.StretchDraw(iRect,imgConn.Picture.Icon);
sgAlarmConn.Cells[2,ConnectId]:='Á¬½ÓÕý³£';
sgAlarmConn.Cells[3,ConnectId]:=StrIp;
MemoClient[i].CConnFlag:=false;
MemoClient[i].CWork:=false;
end;
sgAlarmConn.Refresh;
break;
end;其中,MemoClient和ClientConnArr是ClientToSvr类型的