私はこのようなプログラムを持っています
...
$self->{bn1}=Wx::Button->new( $tb1, -1, 'Start');
EVT_BUTTON( $self, $self->{bn1}, \&on_click_start );
...
...
sub on_click_start
{
my( $this, $event ) = @_;
$this->{bn1}->SetLabel("Cancel");
$event->Skip;
for (...) {
long_time_operation();
last if ( Cancel_clicked );
}
}
...
私の問題は、[開始] ボタンをクリックするとon_click_start()が呼び出され、 [開始] ボタンのラベルを[キャンセル] に変更して、ボタンをクリックしてlong_time_operation()ループを中断できるようにすることです。
適切なコードを作成するにはどうすればよいですか?