Browse Source

* Allow ToString for object value

Michaël Van Canneyt 1 year ago
parent
commit
9f5a420504
1 changed files with 12 additions and 0 deletions
  1. 12 0
      packages/rtl-objpas/src/inc/rtti.pp

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

@@ -4028,6 +4028,10 @@ begin
 end;
 end;
 
 
 function TValue.ToString: String;
 function TValue.ToString: String;
+
+var
+  Obj : TObject;
+
 begin
 begin
   if IsEmpty then
   if IsEmpty then
     Exit('(empty)');
     Exit('(empty)');
@@ -4046,6 +4050,14 @@ begin
     tkEnumeration: Result := GetEnumName(TypeInfo, Integer(AsOrdinal));
     tkEnumeration: Result := GetEnumName(TypeInfo, Integer(AsOrdinal));
     tkChar: Result := AnsiChar(FData.FAsUByte);
     tkChar: Result := AnsiChar(FData.FAsUByte);
     tkWChar: Result := UTF8Encode(WideChar(FData.FAsUWord));
     tkWChar: Result := UTF8Encode(WideChar(FData.FAsUWord));
+    tkClass : 
+      begin
+      Obj:=AsObject;
+      if Assigned(Obj) then
+        Result:=Obj.ToString
+      else
+        Result:='<Nil>';  
+      end  
   else
   else
     result := '<unknown kind>';
     result := '<unknown kind>';
   end;
   end;