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?

Responder a