お世話になります。
DelphiからRubyを起動してパラメータを2つ(ファイル名と処理方法)渡すにはどんなコマンドを使えばいいのでしょうか?
環境はWindows8.1 Delphi XE5です。
ShellExecuteは、いかがですか?
igyさん、回答ありがとうございます。
delphiに下記のプログラムを記述して
ShellExecute(Handle,'open', 'D:\test.rb','xxxxx', nil, SW_SHOWNORMAL) ;
test.rbは
filename = "D:\Delphi_Ruby.txt"
file_out = open(filename,"w")
file_out.print ARGV[0]
file_out.print "\n"
file_out.print "OOOKKK"
file_out.flush
file_out.close
としてテストしてみましたが、Delphi_Ruby.txtのファイルは作成できません。
どこか間違っているのでしょうか?
ちなみに、rbファイルの関連付けは行っており、コマンドプロンプトからtest.rbを実行すると、
ファイルは正常にできています。
中間報告をします。
Delphiプロジェクトのexeファイルを直接実行したところ、出力ファイルはできました。
もしかしたら、どこかのディレクトリにできているのかもしれません。
Windows8のファイル検索方法がよくわからないため、見つけられていませんけど...
とりあえず、原因がわかりました。
ruby側のプログラムのディレクトリの指定が間違っていたようです。
filename = "D:\Delphi_Ruby.txt"
をfilename = "D:\\Delphi_Ruby.txt"
にしたらDドライブのルートディレクトリに出力ファイルが作成されました。
チェックを忘れていました。
ツイート | ![]() |