@@ -3612,7 +3612,7 @@ function AppendClassNameToBuffer(AClass: TClass; ADestination: PAnsiChar): PAnsi
3612
3612
{ $ifdef EnableMemoryLeakReportingUsesQualifiedClassName}
3613
3613
FirstUnitNameChar: PAnsiChar;
3614
3614
LClassInfo: Pointer;
3615
- UnitName : PShortString;
3615
+ LPUnitName : PShortString;
3616
3616
{ $endif EnableMemoryLeakReportingUsesQualifiedClassName}
3617
3617
LPClassName: PShortString;
3618
3618
begin
@@ -3625,13 +3625,13 @@ function AppendClassNameToBuffer(AClass: TClass; ADestination: PAnsiChar): PAnsi
3625
3625
LClassInfo := AClass.ClassInfo;
3626
3626
if LClassInfo <> nil then // prepend the UnitName
3627
3627
begin
3628
- UnitName := @PClassData(PByte (LClassInfo) + 2 + PByte (PByte(LClassInfo) + 1 )^).UnitName;
3629
- FirstUnitNameChar := @UnitName ^[1 ];
3628
+ LPUnitName := @( PClassData(IntPtr (LClassInfo) + 2 + IntPtr (PByte(IntPtr( LClassInfo) + 1 )^))^ .UnitName) ;
3629
+ FirstUnitNameChar := @LPUnitName ^[1 ];
3630
3630
if FirstUnitNameChar^ <> ' @' then
3631
- Result := AppendStringToBuffer(FirstUnitNameChar, Result, Length(UnitName ^))
3631
+ Result := AppendStringToBuffer(FirstUnitNameChar, Result, Length(LPUnitName ^))
3632
3632
else // Pos does no memory allocations, so it is safe to use
3633
3633
begin // Skip the '@', then copy until the ':' - never seen this happen in Delphi, but might be a C++ thing
3634
- Result := AppendStringToBuffer(@UnitName ^[2 ], Result, Pos(ShortString(' :' ), UnitName ^) - 2 )
3634
+ Result := AppendStringToBuffer(@LPUnitName ^[2 ], Result, Pos(ShortString(' :' ), LPUnitName ^) - 2 )
3635
3635
;
3636
3636
end ;
3637
3637
// dot between unit name and class name:
0 commit comments