我尝试使用Delphi 2010编写一种对象/记录序列化程序,并想知道是否有一种方法可以检测记录是否为变体记录。例如,在Types.pas中定义的TRect记录:
TRect = record
case Integer of
0: (Left, Top, Right, Bottom: Longint);
1: (TopLeft, BottomRight: TPoint);
end;
由于我的序列化程序需要对数据结构进行递归处理,它会对TPoint记录进行下降并在我的序列化文件中生成冗余信息。有没有办法通过获取记录的详细信息来避免这种情况呢?