gpt4 book ai didi

delphi - 如何调用 FormClose 事件处理程序?

转载 作者:行者123 更新时间:2023-12-03 15:51:46 24 4
gpt4 key购买 nike

我尝试调用 FormClose 方法,但尝试时其参数出现问题:

FormName.FormClose(nil, CaFree);

通常,我可以使用 nilsender as TOBject 来调用带有参数的组件的事件处理程序。但现在我收到错误:

Constant object cannot be passed as var parameter

我已经尝试了这两个 TObject 和 TAction 值的多种组合。对于 TObject,我尝试了“sender as TObject”,对于 TAction,我尝试了所有参数,如 CaFree 等。

最佳答案

第二个参数是一个 var 参数,这是编译器错误消息告诉您的内容。所以你需要传递一个变量。您不能传递文字。

var
Action: TCloseAction;
....
Action := caFree;
Name.FormClose(nil, Action);

请注意,您几乎肯定不应该这样做。您不应该直接调用事件处理程序。框架会在适当的时候调用它们。我认为您很可能错误地认为您需要直接触发此事件处理程序,甚至在表单关闭的正常场景之外执行代码。

作为一般规则,如果您需要直接调用事件处理程序中的代码,那么通常的方法是首先将其提取到可以直接调用的单独方法中。然后重构事件处理程序以调用该单独的方法。

关于delphi - 如何调用 FormClose 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com