unit HogeList; interface uses XPtest, SysUtils, //Exception ListClone, //TListClone Types; //DWORD type THoge = record F1: byte; F2: DWORD; F3: byte; end; TRecord = THoge; //////////////////////////////////////////////////////////// {$include RecordList.inc.pas} //////////////////////////////////////////////////////////// THogeList = TRecordList; procedure testHogeList; implementation function RecordEqual(const Value1, Value2: TRecord): Boolean; forward; //////////////////////////////////////////////////////////// {$include RecordList.inc.pas} //////////////////////////////////////////////////////////// function RecordEqual(const Value1, Value2: TRecord): Boolean; begin if ( THoge(Value1).F1 = THoge(Value2).F1 ) and ( THoge(Value1).F2 = THoge(Value2).F2 ) and ( THoge(Value1).F3 = THoge(Value2).F3 ) then begin Result := True; end else begin Result := False; end; end; procedure testHogeList; var HogeList: THogeList; a, b, c: THoge; begin HogeList := THogeList.Create; a.F1 := 0; a.F2 := 0; a.F3 := 0; b.F1 := 1; b.F2 := 2; b.F3 := 3; c.F1 := 1; c.F2 := 2; c.F3 := 3; HogeList.Add(a); HogeList.Add(b); Check(1, HogeList.IndexOf(c)); HogeList.Free; end; initialization finalization end.