浏览代码

* fix test run in Delphi: new Delphi (probably since XE7) has bug for method pointer which is considered as managed. Older Delphi versions are ok in this matter.

git-svn-id: trunk@36931 -
maciej-izak 8 年之前
父节点
当前提交
fff81bea64
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      packages/rtl-objpas/tests/tests.rtti.pas

+ 2 - 2
packages/rtl-objpas/tests/tests.rtti.pas

@@ -779,8 +779,8 @@ begin
   {$ifdef fpc}
   CheckEquals(false, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
   {$else}
-  { for some reason Delphi considers method pointers to be managed :/ }
-  CheckEquals(true, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
+  { Delphi bug (or sabotage). For some reason Delphi considers method pointers to be managed (only in newer versions, probably since XE7) :/ }
+  CheckEquals({$if RTLVersion>=28}true{$else}false{$endif}, IsManaged(TypeInfo(TTestMethod)), 'IsManaged for tkMethod');
   {$endif}
   CheckEquals(false, IsManaged(TypeInfo(TArrayOfByte)),
     'IsManaged for tkArray (with non managed ElType)');