• ベストアンサー

ruby.exeとrubyw.exeに違いがあ..

ruby.exeとrubyw.exeに違いがあるのでしょうか? (dos窓の表示/非表示以外に) 作成したGUIプログラムをruby.exeで動作させると正常に動くのですが、 dos窓を表示せずに動作させるため、rubyw.exeに関連づけて動作させると、ある条件で(たぶんエラーで)、GUIが消え、終了してしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは 同様の現象に遭遇したことがないのでご質問に直接の回答はできないのですが とりあえず発生していると思われるエラーメッセージをファイルに書き出してみては如何でしょうか? エラーがわかれば対策も可能かと思います。 問題のプログラムの具体的な記述がわからないのですが、ソースの最後の方で作成したFormを実行している記述があると思います。(下の※に相当する記述です、複数行かもしれません) これをbegin~rescue~endで囲んで、エラーが発生した場合にそのメッセージをファイルに書き出す様にします。下の例ではエラー発生時に、error.txtにエラーメッセージが書き出されます。 -----ここから begin VRLocalScreen.start(MyForm) ……※Formを実行している記述(一例です) rescue File.open("error.txt","w") do |f| f.puts $!.message f.puts $!.backtrace end end ----ここまで

kihonkana
質問者

お礼

siffon9さん、ありがとうございます。 原因がつかめました。 エラー(GUIが消える)の発生する条件の時には、ある処理を行っていて、 その時には動作チェックしやすいように、途中データを表示させるのに「p ...」を使っていました。 RDEから起動したときやdos窓を表示するようにしたときには、これがエラーにならなかったようですが、 dos窓を表示せず、直接動作させたときは、「p ...」がエラーになって終了していたようです。 rescueコマンド便利ですね、こんなに簡単に原因がつかめるとは思いませんでした。 本当にありがとうございます。

kihonkana
質問者

補足

siffon9さん、回答ありがとうございます。 なんとか、エラーメッセージらしきものを記録することができました。 これを基に原因を調べてみます。

関連するQ&A