【问题标题】:C++Builder: Generated code is not removed when component is deletedC ++ Builder:删除组件时不会删除生成的代码
【发布时间】:2021-12-13 00:10:13
【问题描述】:

我刚刚安装了 Embarcadero C++Builder 10.4 社区版。 我创建了一个新的 VCL 应用程序并将一些组件 TButton 和 TLabel 添加到表单中。 我在按钮上添加了一个 OnClick 事件:

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Button1->Caption = "Hej!";
}
//---------------------------------------------------------------------------

当我在设计器中删除按钮时,生成的代码不会被删除。 从 Delphi 10.4 我知道,生成的代码已被删除。

这通常在 C++Builder 中不起作用,我需要手动删除代码吗? 我也试过一个 FMX 应用程序,它也不起作用。

【问题讨论】:

  • 我怀疑 Delphi 10.4 会在您删除设计器中的实际按钮时删除 Button1Click 过程。我从未见过这样的行为,这是一件好事,因为您可能也将相同的过程分配给了其他对象。所以是的,如果您不再需要该代码,您需要自己删除它。
  • 有一种情况是程序被删除了,但这与按钮是否还在表单上或是否被删除无关。这种情况是如果程序在编译时根本没有代码。

标签: firemonkey c++builder vcl


【解决方案1】:

当我在设计器中删除按钮时,生成的代码并没有被删除。

这是不应该的。 如果处理程序的主体完全为空,IDE 将删除事件处理程序。即便如此,仅当单元保存到磁盘时,而不是从设计器中删除组件时。如果处理程序中包含任何代码,即使只是 cmets,IDE 也会不理会它。

从 Delphi 10.4 我知道,生成的代码已被删除。

我严重怀疑这一点。这种行为多年来一直如此。 Embarcadero 现在没有理由改变它。

【讨论】:

  • 我刚刚用 Delphi 10.4 社区版确认,行为与以前相同。
猜你喜欢
  • 2010-11-13
  • 2023-02-07
  • 1970-01-01
  • 2020-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-25
相关资源
最近更新 更多