unit HogeClassList; interface uses XPtest, SysUtils, //Exception ListClone, //TListClone Types; //DWORD type THoge = class F1: byte; F2: DWORD; F3: byte; end; TClassListItem = THoge; //////////////////////////////////////////////////////////// {$include ClassList.inc.pas} //////////////////////////////////////////////////////////// THogeList = TClassList; procedure testHogeClassList; implementation function RecordEqual(const Value1, Value2: TClassListItem): Boolean; forward; //////////////////////////////////////////////////////////// {$include ClassList.inc.pas} //////////////////////////////////////////////////////////// function RecordEqual(const Value1, Value2: TClassListItem): 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 testHogeClassList; var HogeList: THogeList; a, b, c: THoge; begin HogeList := THogeList.Create; a := THoge.Create; a.F1 := 0; a.F2 := 0; a.F3 := 0; b := THoge.Create; b.F1 := 1; b.F2 := 2; b.F3 := 3; c := THoge.Create; 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.