Browse Source

* 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 years ago
parent
commit
fff81bea64
1 changed files with 2 additions and 2 deletions
  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)');