我有一个组件,它使用 TWriter 类将不同的信息写入 blob。问题是某些 blob 已不正确地保存到 blob 中(或在另一个数据序列下),我需要以某种方式纠正这些错误。当我期待WriteListBegin或WriteListEnd并且我收到 EReadError“无效的属性值”时,问题就出现了。我正在考虑逐字节读取流,并知道这些分隔符的位置。我怎么知道我遇到的是 WriteListBegin 还是 WriteListEnd?
LE:这个问题不能像评论所说的那么容易解决。我不知道供应商,所以我不能询问详细信息。关于 TWriter 机制背后的内容,这是下面的汇编例程,我不明白字节写的是什么
写入器对象的关联流的列表开始标记
过程 TWriter.Write(const Buf; Count: Longint); 汇编器;
可能我会开始编写自己的自定义 TReader 以修复虚假流。