Quellcode durchsuchen

* handle records with managed fields correctly after attribute merge fixes

git-svn-id: trunk@42480 -
florian vor 6 Jahren
Ursprung
Commit
a60ab40237
1 geänderte Dateien mit 6 neuen und 1 gelöschten Zeilen
  1. 6 1
      rtl/inc/rtti.inc

+ 6 - 1
rtl/inc/rtti.inc

@@ -401,11 +401,16 @@ begin
           recordop^.Copy(Src,Dest)
         else
           begin
-{$endif VER3_0}
+            Result:=PRecordInfoInit(Temp)^.Size;
+            EleCount:=PRecordInfoInit(Temp)^.Count;
+            { Get element info, hacky, but what else can we do? }
+            Temp:=Pointer(@PRecordInfoInit(Temp)^.Count)+SizeOf(PRecordInfoInit(Temp)^.Count);
+{$else VER3_0}
             Result:=PRecordInfoFull(Temp)^.Size;
             EleCount:=PRecordInfoFull(Temp)^.Count;
             { Get element info, hacky, but what else can we do? }
             Temp:=Pointer(@PRecordInfoFull(Temp)^.Count)+SizeOf(PRecordInfoFull(Temp)^.Count);
+{$endif VER3_0}
             expectedoffset:=0;
             { Process elements with rtti }
             for i:=1 to EleCount Do