// Here is the format of the DATA for a TRefArray object in Release 3.02.06. //-------- // 0->3 ByteCount = Number of remaining bytes in TRefArray object (uncompressed) // | OR'd with kByteCountMask (0x40000000) // 4->5 Version = Version of TRefArray Class // 6->15 = TObject object (Base class of TRefArray) (see tobject.txt). // | Will be two bytes longer (6->17) if TRefArray object is // | itself referenced (unlikely). // 16->.. fName = Number of bytes in name of TRefArray object, followed by the // | name itself. (TCollection::fName). Currently, TRefArrays // | are not named, so this is a single byte containing 0. // 0->3 nObjects | Number of object references (fUIDs) in this TRefArray. // 4->7 fLowerBound= Lower bound of array. Typically 0. // 8->9 pidf = An identifier of the TProcessID record for the process that wrote the // | referenced objects. This identifier is an unsigned short. The relevant // | record has a name that is the string "ProcessID" concatenated with the // | ASCII decimal representation of "pidf" (no leading zeros). // | 0 is a valid pidf. // 10->.. fUIDs = Sequentially, object Unique ID's. // | Each Unique ID is a four byte unsigned integer. // | If non-zero, it matches the Unique ID in the referenced // | object. If zero, it is an unused element in the array. // | The fUIDs are written out only up to the last used element, // | so the last fUID will always be non-zero.