1.操作数据库一般不会丢数据,系统有一定容量的缓冲区。不过我建议你还是自己搞一套缓
冲体系。例如建立一个足够大的队列,并将数据库操作放到线程中响应队列消息并通过线
程的同步方法实现。
2.尽可能提高操作效率。例如我上面说的第三点。
3.你的代码问题非常严重。如果是我,我会这么写:
procedure TFcomm.Comm1ReceiveData(Sender: TObject;
Buffer: Pointer;
BufferLength: Word);
var
I: Integer;
S1, S2:string;
begin
SetString(S1, Buffer, BufferLength);
for I := 1 to BufferLengthdo
S2 := S2 + IntToStr(Ord(S1)) + ' ';
memo1.lines.add(Format(''接收%d字节:%s'#13#10, [BufferLength, S2]);
end;