Another interesting thing to note as well which I think is rather strange... if you change in datanicks.pas lien 65, reAllocMem(nicks, sizeOf(TNick) * nNicks); to getMem(nicks, sizeOf(TNick) * nNicks); It will crash the same way as before, but at the 5th call of addNick cheers James