3

我有一个自定义 FMX 组合框控件,我正在尝试从 Delphi XE6 移动到 Delphi 10.1 Berlin。该控件继承自 TComboEdit。在我的控制下,我覆盖了受保护的虚拟方法 - “DoTyping”,它曾经存在于 TCustomEdit 中,但在 Delphi 10.1 Berlin 中不再存在。如何在不重写整个控件的情况下保留我的代码?Delphi 10.1 Berlin 中是否有我正在监督的同义词?

看起来好像 TCustomEdit 添加了一个新属性

 Model: TCustomEditModel
4

1 回答 1

4

这再简单不过了。

股票 TComboEdit 有一个OnTyping事件。
无论该DoTyping方法移动到哪里,都可以肯定它的实现看起来像这样:

procedure TSomething.DoTyping;
begin
  if assigned(FOnTyping) then FOnTyping(Self);
end;

所以只需拿起曾经存在的代码DoTyping,剪切它。
将您的自定义 ComboEdit(或 stock TComboEdit)放在表单上,​​转到对象检查器中的事件,双击OnTyping并将代码粘贴到事件处理程序中。

procedure TForm50.ComboEdit1Typing(Sender: TObject);
begin
  //Paste here.
end;

这就是 Uwe 所说的“连接事件”。

于 2016-06-09T19:01:31.543 回答