可能是重复问题:
Delphi中的“with”有什么问题
我在BDS 2006中调试使用‘WITH’语句的代码时遇到了问题,调试器无法显示类或记录中变量的值。我做错了什么还是BDS 2006存在错误?
type
TNumber = class
Num: Integer;
end;
implementation
{$R *.dfm}
var
MyNumber: TNumber;
procedure TForm2.FormCreate(Sender: TObject);
begin
MyNumber := TNumber.Create;
MyNumber.Num := 10; /// MyNumber.Num Can be seen with debugger
with MyNumber do
begin
Num := Num +1 ; /// Num is not seen by the debugger
MyNumber.Num := Num +1 ; /// MyNumber.Num is seen but Num is not seen by the debugger
end;
end;
编辑:
当然可以使用变量的完整名称,但是如果您有一个复杂的结构,具有多个级别,事情会变得非常混乱。