Browse Source

* fix compilation on systems where SizeOf(CodePointer) <> SizeOf(Pointer): disable ToString for tkMethod on these systems for now

Sven/Sarah Barth 9 months ago
parent
commit
f70a430b6f
1 changed files with 4 additions and 0 deletions
  1. 4 0
      packages/rtl-objpas/src/inc/rtti.pp

+ 4 - 0
packages/rtl-objpas/src/inc/rtti.pp

@@ -4125,7 +4125,11 @@ begin
       else
       else
         Result:='<Nil>';  
         Result:='<Nil>';  
       end;
       end;
+    {$IF SIZEOF(POINTER) = SIZEOF(CODEPOINTER)}
+    { if CodePointer is not the same as Pointer then it currently can't be
+      passed onto a array of const }
     tkMethod: Result := Format('(method code=%p, data=%p)', [FData.FAsMethod.Code, FData.FAsMethod.Data]);
     tkMethod: Result := Format('(method code=%p, data=%p)', [FData.FAsMethod.Code, FData.FAsMethod.Data]);
+    {$ENDIF}
   else
   else
     result := '<unknown kind: '+GetEnumName(System.TypeInfo(TTypeKind),Ord(Kind))+'>';
     result := '<unknown kind: '+GetEnumName(System.TypeInfo(TTypeKind),Ord(Kind))+'>';
   end;
   end;