我试图将参数传递给perl子例程,该子程序处理wxPerl EVT_BUTTON事件。我明白当我使用:
EVT_BUTTON($frame, $button, \&onClick);我将访问$frame和$button及其在onClick中的功能。但是,我试图让子例程读取附加参数,主要是其他各种Wx::CheckBox值的值/状态。
我认为这种工作的唯一方法是使用全局变量并让onClick读取它们,但我想在其他地方重用onClick,而使用全局vars是我最不喜欢的选择。
我尝试过各种各样的东西,但都失败了,例如:
EVT_BUTTON($frame, $button, \&onClick(arg1,arg2));我认为解决方案在于理解Perl引用是如何工作的,因为我们在传递\&onClick时,前面是\&指示器。但我对Perl的这方面缺乏知识..。
任何帮助都是非常感谢的。
发布于 2014-05-14 20:05:08
尝尝这个,
EVT_BUTTON($frame, $button, sub{ onClick($arg1,$arg2) });它引用anon子例程,然后调用onClick子例程,它等价于:
my $subref = sub{ onClick($arg1,$arg2) };
EVT_BUTTON($frame, $button, $subref);https://stackoverflow.com/questions/23664073
复制相似问题