如何在Delphi IDE中观察/检查字符串列表范围?

Jan*_*gen 3 delphi range tstringlist

我经常发现自己处于调试字符串列表中正在发生的事情的情况,例如,数据正在StringList [StartOfBlock]到StringList [EndOfBlock]的范围内被操纵.我可以快速检查或观察该范围内的一个或多个变量索引,例如StringList [LineNum],但检查StartBlock/Endblock范围内的相邻字符串很麻烦.我可以在StringList [LineNum + 1]上添加另一个监视,或者在Ctrl-F7检查器中修改表达式,但这是非常多的工作;-(

我希望永久性地在IDE中的StringList [StartOfBlock]到StringList [EndOfBlock].(如果在StartOfBlock/EndOfBlock发生更改时该视图发生更改,或者该视图可以刷新,那将是非常好的.)

我将如何在IDE中构建一些东西来实现这一目标?

hub*_*azs 8

创建一个全局函数:

function GetLines(AList: TStrings; AStart, AEnd: Integer): string;
var
  I: Integer;
begin
  Result := '';
  for I := AStart to AEnd do
    if I < AList.Count then
      Result := Result + AList[I] + sLineBreak;
end;
Run Code Online (Sandbox Code Playgroud)

您可以观看此函数:GetLines(StringList,StartOfBlock,EndOfBlock),但在监视设置中启用函数执行(允许函数调用复选框).

  • 您可能需要确保链接器不会因为程序中的任何函数未调用该函数而剥离该函数 (3认同)