瀏覽代碼

* Make GetEnumName safer, check actual type. Allow passing an integer

Michaël Van Canneyt 1 年之前
父節點
當前提交
cde58d66fc
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      rtl/objpas/typinfo.pp

+ 6 - 2
rtl/objpas/typinfo.pp

@@ -1479,7 +1479,7 @@ begin
           Result:='';
       end;
     end
- else
+ else if TypeInfo^.Kind=tkEnumeration then
    begin
      PS:=@PT^.NameList;
      dec(Value,PT^.MinValue);
@@ -1489,7 +1489,11 @@ begin
          Dec(Value);
        end;
      Result:=PS^;
-   end;
+   end
+ else if TypeInfo^.Kind=tkInteger then
+   Result:=IntToStr(Value)
+ else
+   Result:='';  
 end;