debugger: fix class dereferencing after r23058 #ace509e462

git-svn-id: trunk@23060 -
This commit is contained in:
paul 2009-12-10 08:19:12 +00:00
parent 55f665674a
commit 4a17d26613

View File

@ -14056,12 +14056,16 @@ begin
DBGTypeDerefer:=nil;
if not DebugBoss.Evaluate(Expression, DebugEval, DBGType) or (DebugEval = '') then
DebugEval := '???';
if Assigned(DBGType) and (DBGType.Kind=skClass) then
// deference a pointer - maybe it is a class
if Assigned(DBGType) and (DBGType.Kind in [skPointer, skClass]) then
begin
if DBGType.Value.AsPointer <> nil then
begin
if DebugBoss.Evaluate(Expression + '^', DebugEvalDerefer, DBGTypeDerefer) then
DebugEval := DebugEval + ' = ' + DebugEvalDerefer;
begin
if Assigned(DBGTypeDerefer) and (DBGTypeDerefer.Kind = skClass) then
DebugEval := DebugEval + ' = ' + DebugEvalDerefer;
end;
end;
end;
FreeAndNil(DBGType);