• 締切
  • 暇なときにでも

CGIで、ファイルI/Oをしたい!

  • 質問No.3096
  • 閲覧数108
  • ありがとう数17
  • 回答数3

お礼率 9% (1/11)

インターネットプログラミングにおいて、以下のことを教えてください。
Webサーバ:WinNT4.0 IIS
CGI :VCで作成(Cです)
HTMLのサブミットより、EXEをコールし、そのEXEの中でDLLをコールして
処理を行っているのですが、DLLの中でファイルOPENを行ったところ、アプリケーションエラーが出てしまいます。
このような、EXEからDLLコール・DLL内でファイルのI/Oなんてことはしては
いけないのでしょうか?
このやり方が、おかしいのであれば正しいやり方を教えて頂ければ助かります。

回答 (全3件)

  • 回答No.3

ベストアンサー率 0% (0/1)

他の人が言われているように、やりかたは間違いないと
思います。ファイルがOPENできないという問題ならば
ブラウザ-から実行した時のユーザー権限かなと。
ブラウザ-から起動した場合は、カレントディレクトリ
とか環境変数とかユーザーとか異なるので、これらに
依存するファイル名を作成してるとオープンできない
と思いますが。IISは不慣れなものではずしているかも
しれません。
  • 回答No.2
どのようなアプリケーションエラーが出るのでしょうか。それを補足にて
書いていただけると、よりフォローがつきやすいと思いますよ。
#もしかして、アプリケーションが落ちてしまうの?

ではでは☆
補足コメント
honken

お礼率 9% (1/11)

Kanataさん、回答ありがとうございます。
アプリケーションエラーは、DLL側でファイルをOPENしたときの、ファイルハンドラがNULLになってしまい、それをREAD・WRITEするために、起こっているエラーです。要は、ファイルのオープンが出来ないみたいです。
よろしくお願いします。
投稿日時:0000/00/00 00:00
  • 回答No.1
DLLでファイル操作をすることには問題はないと思います。
VCで作ったEXEをCGIプログラムとして動かしたことはないので
よくわかりませんが、
ひょっとしたら そのDLLが、Webクライアント側から見れない位置にあると
エラーが出るのかもしれません。
EXEと同じ位置にあればそういう問題もないと思いますが…。
とりあえずサーバ上で単なるEXEとして動かした場合と
CGIプログラムとして動かした場合での違いを調べてみるのはどうでしょうか。
違いがないとしたらコーディングに問題があるはずですよね。
補足コメント
honken

お礼率 9% (1/11)

ttyさん、さっそくの回答ありがとうございます。
とりあえず、サーバー上で、単なるEXEとして動かした場合の動作はまったく問題ありませんでした。
ちなみに、DLLにせずに関数としてEXEに組み込んだら、うまく行くんです。
何かわかりましたら、またお願いします。
投稿日時:0000/00/00 00:00
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ