首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wxperl EVT_BUTTON中传递附加参数

如何在wxperl EVT_BUTTON中传递附加参数
EN

Stack Overflow用户
提问于 2014-05-14 20:03:49
回答 1查看 243关注 0票数 3

我试图将参数传递给perl子例程,该子程序处理wxPerl EVT_BUTTON事件。我明白当我使用:

代码语言:javascript
复制
EVT_BUTTON($frame, $button, \&onClick);

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

我认为这种工作的唯一方法是使用全局变量并让onClick读取它们,但我想在其他地方重用onClick,而使用全局vars是我最不喜欢的选择。

我尝试过各种各样的东西,但都失败了,例如:

代码语言:javascript
复制
EVT_BUTTON($frame, $button, \&onClick(arg1,arg2));

我认为解决方案在于理解Perl引用是如何工作的,因为我们在传递\&onClick时,前面是\&指示器。但我对Perl的这方面缺乏知识..。

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-14 20:05:08

尝尝这个,

代码语言:javascript
复制
EVT_BUTTON($frame, $button, sub{ onClick($arg1,$arg2) });

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

代码语言:javascript
复制
my $subref = sub{ onClick($arg1,$arg2) };
EVT_BUTTON($frame, $button, $subref);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23664073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档