【发布时间】:2014-05-04 23:36:23
【问题描述】:
我有一个 TiffData 类,它包含用于加载和显示数据的抽象方法,以及许多定义这些方法的祖先类,如 TTiffByte、TTiffAscii、TTiffShort。
我还有一个常量数组或记录,可让我根据 IFD 中记录的数据类型查找有关类型的信息。
我想不通,如何存储每个数组元素的关联类。
type
TtiffType = record
name : string;
bytes : word;
data : class; { ? }
desc : string;
end;
const
TiffTypes : array[ 1 .. 18 ] of TTiffType = (
{01} ( name: 'byte'; bytes : 1; data: TTiffByte; { ? }
desc: '8-bit unsigned number.' ),
{02} ( name: 'ascii'; bytes : 1; data: TTiffAscii; { ? }
desc: '8 bit byte that contains a 7 bit ASCII code; the last byte must be NULL (binary zero)' ),
{03} ( name: 'short'; bytes : 2; data: TTiffShort; { ? }
desc: '16-bit (2-byte) unsigned integer.' ),
...
我想做的是在数组中保存对类的引用:
value := TiffTypes[ fldType ].Data.Create;
value.loadFromOffset( offset );
Edit1.Text := value.getShortString;
或者在数组中保存一个构造函数:
value := TiffTypes[ fldType ].data;
value.loadFromFile( f, offset, count );
InternalRepresentation := TTiffAscii( value.storage );
【问题讨论】:
标签: class delphi delphi-xe2 record