mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:59:13 +02:00
Debugger: fixes for Inspect dlg.
This commit is contained in:
parent
b54ac53cca
commit
563d7e2d6f
@ -347,6 +347,11 @@ begin
|
|||||||
btnColVisibility.Enabled := False;
|
btnColVisibility.Enabled := False;
|
||||||
|
|
||||||
Res := FCurrentResData;
|
Res := FCurrentResData;
|
||||||
|
if Res = nil then begin
|
||||||
|
TimerClearData.Enabled := True;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
StatusBar1.SimpleText:=ShortenedExpression+': '+Res.TypeName + ' Len: ' + IntToStr(Res.ArrayLength);
|
StatusBar1.SimpleText:=ShortenedExpression+': '+Res.TypeName + ' Len: ' + IntToStr(Res.ArrayLength);
|
||||||
|
|
||||||
LowBnd := Res.LowBound;
|
LowBnd := Res.LowBound;
|
||||||
@ -569,6 +574,8 @@ end;
|
|||||||
|
|
||||||
procedure TIDEInspectDlg.TimerClearDataTimer(Sender: TObject);
|
procedure TIDEInspectDlg.TimerClearDataTimer(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
if not TimerClearData.Enabled then
|
||||||
|
exit;
|
||||||
TimerClearData.Enabled := False;
|
TimerClearData.Enabled := False;
|
||||||
Clear;
|
Clear;
|
||||||
end;
|
end;
|
||||||
@ -1351,14 +1358,14 @@ begin
|
|||||||
|
|
||||||
TimerClearData.Enabled := False;
|
TimerClearData.Enabled := False;
|
||||||
|
|
||||||
FCurrentResData := nil;
|
|
||||||
FAlternateExpression := '';
|
FAlternateExpression := '';
|
||||||
FExpressionWasEvaluated := True;
|
FExpressionWasEvaluated := True;
|
||||||
|
FCurrentResData := FCurrentWatchValue.ResultData;
|
||||||
FHumanReadable := FWatchPrinter.PrintWatchValue(FCurrentResData, wdfStructure);
|
FHumanReadable := FWatchPrinter.PrintWatchValue(FCurrentResData, wdfStructure);
|
||||||
|
|
||||||
if FCurrentWatchValue.Validity = ddsValid then begin
|
if FCurrentWatchValue.Validity = ddsValid then begin
|
||||||
ArrayNavigationBar1.Visible := False;
|
|
||||||
if FCurrentWatchValue.TypeInfo <> nil then begin
|
if FCurrentWatchValue.TypeInfo <> nil then begin
|
||||||
|
ArrayNavigationBar1.Visible := False;
|
||||||
case FCurrentWatchValue.TypeInfo.Kind of
|
case FCurrentWatchValue.TypeInfo.Kind of
|
||||||
skClass, skObject, skInterface: InspectClass();
|
skClass, skObject, skInterface: InspectClass();
|
||||||
skRecord: InspectRecord();
|
skRecord: InspectRecord();
|
||||||
@ -1383,7 +1390,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
else begin
|
else begin
|
||||||
FCurrentResData := FCurrentWatchValue.ResultData;
|
|
||||||
// resultdata
|
// resultdata
|
||||||
|
|
||||||
if (FCurrentResData.ValueKind = rdkStruct) and
|
if (FCurrentResData.ValueKind = rdkStruct) and
|
||||||
@ -1457,6 +1463,8 @@ end;
|
|||||||
procedure TIDEInspectDlg.ArrayNavChanged(Sender: TArrayNavigationBar;
|
procedure TIDEInspectDlg.ArrayNavChanged(Sender: TArrayNavigationBar;
|
||||||
AValue: Int64);
|
AValue: Int64);
|
||||||
begin
|
begin
|
||||||
|
if (FCurrentResData = nil) or (FCurrentResData.ValueKind <> rdkArray) then
|
||||||
|
exit;
|
||||||
InspectResDataArray;
|
InspectResDataArray;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user