内存泄漏的地方一定要注意:
不断分配的Tbytes会导致内存泄漏,发生以下错误:
Access violation at address CA5ED400. Execution of address CA5ED400
{=====内存泄漏最大的地方、居然没有释放=====}
//SetLength(tbuff,length(Adata));
//Move(Adata,Tbuff,length(Adata));
{=====内存泄漏最大的地方、居然没有释放=====}
procedure TFrmMain.UdpUDPRead(AThread: TIdUDPListenerThread;
const AData: TIdBytes; ABinding: TIdSocketHandle);
var len ,tcnt,i: smallint;
tstr : ansistring;
Tbuff : Tbytes;
begin
//CSA.Enter;
inc(rollUdpP);
if rollUdpP > 20 then
rollUdpP := 0;{=====内存泄漏最大的地方、居然没有释放=====}
//SetLength(tbuff,length(Adata));
//Move(Adata,Tbuff,length(Adata));{=====内存泄漏最大的地方、居然没有释放=====}
//第一方案
case rollUdpP of
0 : Ud