Ver Fonte

* OrdType isn't valid for Int64 and QWord

git-svn-id: trunk@1644 -
florian há 20 anos atrás
pai
commit
9749238cfe
1 ficheiros alterados com 2 adições e 2 exclusões
  1. 2 2
      rtl/objpas/typinfo.pp

+ 2 - 2
rtl/objpas/typinfo.pp

@@ -825,7 +825,7 @@ begin
     DataSize := 8
   else
     DataSize := 4;
-  if PropInfo^.PropType^.Kind <> tkClass then
+  if not(PropInfo^.PropType^.Kind in [tkInt64,tkQword,tkClass]) then
     begin
       { cut off unnecessary stuff }
       case GetTypeData(PropInfo^.PropType)^.OrdType of
@@ -846,7 +846,7 @@ begin
       case DataSize of
         1: PByte(Pointer(Instance)+Ptrint(PropInfo^.SetProc))^:=Byte(Value);
         2: PWord(Pointer(Instance)+Ptrint(PropInfo^.SetProc))^:=Word(Value);
-        4:PLongint(Pointer(Instance)+Ptrint(PropInfo^.SetProc))^:=Longint(Value);
+        4: PLongint(Pointer(Instance)+Ptrint(PropInfo^.SetProc))^:=Longint(Value);
         8: PInt64(Pointer(Instance)+Ptrint(PropInfo^.SetProc))^:=Value;
       end;
     ptstatic,