gpt4 book ai didi

c++ - 如何在 wxperl EVT_BUTTON 中传递附加参数

转载 作者:太空狗 更新时间:2023-10-29 21:20:53 26 4
gpt4 key购买 nike

我正在尝试将参数传递给处理 wxPerl EVT_BUTTON 事件的 perl 子例程。我明白当我使用时:

EVT_BUTTON($frame, $button, \&onClick);

我将可以访问 $frame 和 $button 及其在 onClick 中的功能。但是,我试图让子例程读取其他参数,主要是各种其他 Wx::CheckBox 值的值/状态。

我看到这个工作的唯一方法是使用全局变量并获取 onClick 来读取它们,但我想在其他地方重用 onClick ,并且使用全局变量是我最不喜欢的选项。

我试过很多东西,都失败了,例如:

EVT_BUTTON($frame, $button, \&onClick(arg1,arg2));

我认为解决方案在于理解 Perl 引用的工作原理,因为我们传递 \&onClick 时前面带有 \& 指示符。但是我在 Perl 的那方面缺乏知识......

感谢任何帮助

最佳答案

试试这个,

EVT_BUTTON($frame, $button, sub{ onClick($arg1,$arg2) });

它引用anon子程序,然后调用onClick子程序,它等价于:

my $subref = sub{ onClick($arg1,$arg2) };
EVT_BUTTON($frame, $button, $subref);

关于c++ - 如何在 wxperl EVT_BUTTON 中传递附加参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23664073/

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