コンソールで動作するポート通信プログラムを書いたのですが、
Win95上で動作しません。どうしてダメなのかがわかりません。
おわかりになる方がいらっしゃったら
ご教授いただければと思います。
Modeコマンド発行と通信を行う実行モジュールを
記述したバッチファイルを、VBのSHELLで実行しています。
実行モジュールはBorland C++Builder 5でコンパイルしています。
95上でもfopenは実行されています。
なお、2000上では問題なく動作しています。
よろしくお願いいたします。
以下実行モジュールのコード(抜粋)です。
//ポートオープン
fi=fopen("COM2","r");
//20文字以上になるか、エンターの入力があったら受信終了
while (fs>0){
memset(c,'\0',sizeof(c));
s=fread(c,sizeof( char ), 1,fi);
if (c[0] == '\r') break;
if (c[0] == '\n') break;
strcat(ReadBuf,c);
fs=fs-s;
}
//ポートクローズ
fclose(fi);
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
逆に質問です。
開発マシン(Win2000)と実行しているマシン(Win95)は同じマシンですか?
それとも開発マシンと実行しているマシンは別のマシンですか?
実行モジュールを直接DOS窓で実行するとどうなりますか?
Win95のマシンにはCOM2はありますか?
Win95用ではなくて、Win2000用にアプリを作っていませんか?
C++Builder5でコンソールアプリというとWin32API使用でしょうか?
それともDOSでも動かしたいのでしょうか?
ところで、Win95でfopenしていることはどうやって確認しましたか?
そもそも、C++Builderをお使いなら専用のシリアルポート制御のコンポーネントがあると思いますので、それを使ってみては?
この回答への補足
katouka09様
レスありがとうございます。わかりにくくて申し訳ありません。
「MODEコマンドを発行」と書きましたので
自分の中では「DOS画面のプログラム」と書いた気になっていました。
開発は2000、テスト機は95で、別のマシンです。
これのほかに実機(95)があります。
作成した実行モジュールのDOS画面からの実行はできませんでした。
通信環境は正しく整っているとお考えください。
APIは試しました。実機でだけ動作しませんでした。
fopenは2000上ではデバッガで、
テスト機上では戻り値の画面表示で確認しています。
ただし内部的が正常に動作したかはわかりません。
エラーなく終了してきたと言うだけです。
コンポーネントというのは、GUIの部品という認識でよろしいでしょうか?
今回はDOS画面上でのプログラムなので使えません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
バッチファイルの内容を表示さ...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
ホームページのリンクからプロ...
-
「読み取りと実行」と「読み取...
-
複数のbatファイルを自動実行し...
-
VBS実行時にコマンドプロンプト...
-
VB.NETでのDOSコマンドを実行に...
-
VBscriptが起動しない?
-
PDFファイルを開き、印刷し、閉...
-
WSH.Run の処理内容をテキスト...
-
メッセージを他のPCに出したい
-
Excel VBA ステップインが途中...
-
ファイルサイズ判定バッチ
-
[VBScript]ファイルの削除
-
[teraterm] waitコマンドで停止...
-
コマンドプロンプトをウインド...
-
シェルスクリプトの書き方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
「読み取りと実行」と「読み取...
-
VBscriptが起動しない?
-
バッチファイルの内容を表示さ...
-
Excel VBA ステップインが途中...
-
[teraterm] waitコマンドで停止...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
VB.NETでのDOSコマンドを実行に...
-
Excel(エクセル) VBA プロシー...
-
複数のbatファイルを自動実行し...
-
Excelのセルの内容をコマンドプ...
-
PDFファイルを開き、印刷し、閉...
-
Access の VBA 実行中に他の操...
-
これってパソコンの最適化が完...
-
バッチファイルが不正終了して...
-
VBA 既に開いているBookに継続...
-
VScodeのエラー解決法 Pythonの...
-
【VB.NET】exeを実行すると「発...
おすすめ情報