Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > win32oleライブラリ > WIN32OLE_EVENTクラス > on_event_with_outargs
on_event_with_outargs(event = nil) {|*args| ... } -> ()
イベント通知を受けて結果を呼び出し元へ返すブロックを登録します。
引数にはイベントのメソッド名を指定します。引数を省略した場合は、すべてのイベントを対象とするブロックの登録となります。
WIN32OLE_EVENT#on_eventと異なり、イベントのブロック変数に戻り値を設定できます。
ie = WIN32OLE.new('InternetExplorer.Application') ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents2') ev.on_event('BeforeNavigate2') do |*args| args[6] = true unless args[4] # Cancel = true unless PostData end
当メソッドはイベント名の大文字小文字を区別するほか、イベント名の存在確認を行いません。このため、誤ったイベント名を記述してもエラーとはならず、単にイベントを受け取れなくなります。