【发布时间】:2016-09-10 23:15:16
【问题描述】:
Delphi with 命令不能正常工作?
procedure TForm1.Button1Click(Sender: TObject);
begin
With Label1, Label2 do
begin
caption := 'Hello'
end;
end;
我尝试在一个超级简单的程序中使用上面的这段代码,但按钮只更改了 Label2 的标题属性,而不是 label1。当代码如下所示:
procedure TForm1.Button1Click(Sender: TObject);
begin
With Label1 do
begin
caption := 'Hello'
end;
end;
它正确地改变了 Label1 的属性。我需要如何更改代码才能更改两个对象的属性?
【问题讨论】:
-
有一个非常简单的解决方法,那就是:当你意识到你的手指已经输入了
with,快速按退格键 4 次并重新开始。 -
with是编程错误的常见来源。 -
您阅读过哪些文档表明单个赋值语句会修改多个对象的属性?我们必须查明真相,以确保永远不会向其他人推荐该来源。
-
不要误以为
with提供了一种“优雅”的编程风格。相反,它提供了你不想看到的噩梦。
标签: delphi with-statement