diff --git a/debugger/localsdlg.pp b/debugger/localsdlg.pp index cee0380df9..b74a6b6d69 100644 --- a/debugger/localsdlg.pp +++ b/debugger/localsdlg.pp @@ -150,10 +150,22 @@ var begin Inc(I); xNum := ''; - while (I <= M) and (AValue[I] in ['0'..'9']) do - begin - xNum := xNum + AValue[I]; // not really fast, but OK for this purpose + if (I <= M) and (AValue[I]='$') then + begin // hex + xNum := xNum + AValue[I]; Inc(I); + while (I <= M) and (AValue[I] in ['0'..'9', 'A'..'F', 'a'..'f']) do + begin + xNum := xNum + AValue[I]; // not really fast, but OK for this purpose + Inc(I); + end; + end else + begin // dec + while (I <= M) and (AValue[I] in ['0'..'9']) do + begin + xNum := xNum + AValue[I]; // not really fast, but OK for this purpose + Inc(I); + end; end; if TryStrToInt(xNum, xCharOrd) then begin