Pessoal, tenho a seguinte situação: Recebo informações de um sistema via socket e essas informações teem que ser processadas na ordem que chegam e não podem ser processadas sem que o processamento da anterior termine.
Tentei fazer usando o ClientDataSet, onde criei um campo autoincrement e outro com a informação a ser processada. Como posso receber umas 200 linhas de informações por segundo, o ClientDataSet se mostrou lento, pois preciso de uma resposta super rápida no processamento. Resolvi então trabalhar com array dinâmico, onde a cada vez que recebo uma informação, crio um elemento novo no array e salvo a informação lá. Tenho uma variável global onde controlo qual foi o último array processado e verificando quantos elementos tem o array, processos os faltantes. Coloquei um timer varrendo o array de 1 em 1 milisegundo. Qual a opinião de vocês quanto a minha solução? Teriam alguma dica sobre como melhora-la?