1

如果我正在搜索这样的组件:

TMemo(FindComponent('mymemoname'));

我怎么称呼这个OnChange事件TMemo?下面的例子不起作用:

TMemo(FindComponent('mymemoname')).Change();

谢谢

4

1 回答 1

6

Change()方法是protected,因此要像您尝试的那样直接调用它,您需要使用访问器类来授予对调用范围的访问权限,例如:

type
  TMemoAccess = class(TMemo)
  end;

TMemoAccess(TMemo(FindComponent('mymemoname'))).Change();

否则,您可以直接调用OnChange处理程序:

var TheMemo := TMemo(FindComponent('mymemoname'));
TheMemo.OnChange(TheMemo);
于 2022-01-17T22:57:35.783 回答