unit tcOldObject5; interface uses TestFrameWork ; type TtcOldObject5 = class(TTestCase) published procedure DoIt; end;//TtcOldObject5 Tl3_PointUnion = packed record Case Byte of 0: (X: Integer; Y: Integer); end;//Tl3_PointUnion TOldObject1 = object private P: Tl3_PointUnion; public property X: Integer read P.X write P.X; end;//TOldObject1 function IntFunc(aValue: Integer): Integer; function ObjFunc(const anObj: TOldObject1): Integer; implementation function IntFunc(aValue: Integer): Integer; begin Result := aValue; end;//IntFunc function ObjFunc(const anObj: TOldObject1): Integer; begin Result := IntFunc(anObj.X); end;//IntFunc procedure TtcOldObject5.DoIt; const cValue = 1024; var l_O1 : TOldObject1; begin l_O1.X := cValue; Self.CheckTrue(l_O1.X = cValue); Self.CheckTrue(IntFunc(l_O1.X) = cValue); Self.CheckFalse(ObjFunc(l_O1) = cValue); // Ooops ! end;//TtcOldObject5.DoIt initialization TestFrameWork.RegisterTest(TtcOldObject5.Suite); end.
Блог человека, который 18-ть лет программирует на Delphi. И 25 лет программирует вообще. VCL, UML, MDA, тесты. Это не "учебник", это - "заметки на полях".
Комментариев нет:
Отправить комментарий