簡體   English   中英

如何在wxperl EVT_BUTTON中傳遞其他參數

[英]How do I pass additional arguments in wxperl EVT_BUTTON

我試圖將參數傳遞給處理wxPerl EVT_BUTTON事件的perl子例程。 我明白,當我使用時:

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

我將在onClick訪問$ frame和$按鈕及其功能。 但是,我試圖讓子例程讀取其他參數,主要是各種其他Wx::CheckBox值的值/狀態。

我看到這個工作的唯一方法是使用全局變量並使用onClick來讀取它們,但我想在其他地方重用onClick ,並且使用全局變量是我最不喜歡的選項。

我嘗試了各種各樣的事情,例如:

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

我認為解決方案在於理解Perl引用的工作原理,因為我們正在使用前面的\\&指示符傳遞\\&onClick 但我對Perl的這方面缺乏了解......

任何幫助表示贊賞

試試這個,

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

它引用了anon子例程,然后調用onClick sub,它相當於:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM