type SectPrAdapter = class public function Create(_obj: SectPr); function Init(); function GetHeaderReferenceByType(_key: string); function SetHeaderReferenceByType(_key: string; _value: tslobj); function GetFooterReferenceByType(_key: string); function SetFooterReferenceByType(_key: string; _value: tslobj); private object_: SectPr; headerreference_hash_: tableArray; footerreference_hash_: tableArray; end; function SectPrAdapter.Create(_obj: SectPr); begin object_ := _obj; headerreference_hash_ := array(); footerreference_hash_ := array(); {self.}Init(); end; function SectPrAdapter.Init(); begin elements := object_.HeaderReferences(); for k,v in elements do headerreference_hash_[v.Type] := v; elements := object_.FooterReferences(); for k,v in elements do footerreference_hash_[v.Type] := v; end; function SectPrAdapter.GetHeaderReferenceByType(_key: string); begin return headerreference_hash_[_key]; end; function SectPrAdapter.SetHeaderReferenceByType(_key: string; _value: tslobj); begin headerreference_hash_[_key] := _value; end; function SectPrAdapter.GetFooterReferenceByType(_key: string); begin return footerreference_hash_[_key]; end; function SectPrAdapter.SetFooterReferenceByType(_key: string; _value: tslobj); begin footerreference_hash_[_key] := _value; end;