我在delphi6 + indy8的环境下写的程序为什么在任务管理器中显示的线程数一直在增加?? |
尚未結案
|
sdshw
一般會員 發表:8 回覆:11 積分:3 註冊:2008-03-24 發送簡訊給我 |
这是一个Client程序,每5s发送一次数据, 发送时我先建一线程,然后在线程中connect和发送
但是任务管理器中显示的线程数一直在增加,请各位老师给与帮助 [code delphi] constructor TSendThread.Create(); begin FtcpClient := TIdTCPClient.Create(nil); FtcpClient.Host := Config.BlackListIP; FtcpClient.Port := Config.BlackListPort; PlateImg := TMemoryStream.Create; VehicleImg := TMemoryStream.Create; inherited Create(True); end; destructor TSendThread.Destroy; begin FtcpClient.Free; PlateImg.Free; VehicleImg.Free; inherited; end; procedure TSendThread.Execute; var m: TMemoryStream; begin FreeOnTerminate := True; try FtcpClient.Connect; m := TMemoryStream.Create; try m.Write(FData, SizeOf(FData)); //发送车辆数据 FtcpClient.WriteStream(m, True, True); if TPackFunction(FData.FunID) = pfNew then begin //发送车牌图 FtcpClient.WriteStream(PlateImg, True, True); FtcpClient.WriteStream(VehicleImg, True, True); FMsg := '发送黑(白)名单完毕'; end else FMsg := '重新发送车牌完毕'; FLogType := ltNormal; Synchronize(ShowMsg); finally m.Free; FtcpClient.Disconnect; end; except on E: Exception do begin WriteLog('异常, 原因:' e.Message); FMsg := '连接黑(白)名单计算机失败'; FLogType := ltError; Synchronize(ShowMsg); end; end; end; procedure TSendThread.ShowMsg; begin frmMain.ShowLog(FMsg, FLogType); end; [/code] |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |