シリアル通信の受信処理

解決


ゆかり  2005-06-22 14:10:56  No: 90632  IP: [192.*.*.*]

MSCommによりシリアル通信でデータを受信してそのデータは
変数にいてれいます。

標準モジュールでMSCommのOnCommで受信イベント時に変数にその
値をいれることはできたのですが、受信した時のみ
フォーム側でその変数の値を使って処理したいのですがどうすれば
いいのか分からず困っております。


流れとしては
データ受信→変数へ格納→フォーム側で受信したら変数の値を取得
→その値で各処理を行う
という感じです。

編集 削除
??  2005-06-22 15:38:51  No: 90633  IP: [192.*.*.*]

>変数にいてれいます。
って何?

変数に入れれています。?

編集 削除
バリン  2005-06-23 23:59:20  No: 90634  IP: [192.*.*.*]

>標準モジュールでMSCommのOnCommで受信イベント時に・・・
フォームモジュールのことだと仮定して

>変数にその値をいれることはできたのですが、受信した時のみ
>フォーム側でその変数の値を使って処理したいのですが・・・
とりあえずパブリック変数にでも入れといたら?

編集 削除
ゆかり  2005-06-24 18:24:21  No: 90635  IP: [192.*.*.*]

質問の仕方が悪かったみたいですいません。
ちょっと内容かわったかもしれませんが

現在、RS232cで通信を行っています。PCとある機器を接続しています。
1つのexeファイルにフォームを複数作ってフォームごとにMSCommコントロール
を配置してます。
この時、フォームAでデータ受信処理をしてフォームBに遷移した時
フォームBでは受信ができません。ある機器をリセットすれば受信
できます。

ここでMSComm専用のフォームをおきそれを読み込んでからアクティブなフォーム
を読めばいけると思ったんですが、
MSCommのフォームをあらかじめ読んでそのフォームでの受信した結果を
受け取る方法が分からなかったので質問しました

編集 削除
バリン  2005-06-25 07:34:59  No: 90636  IP: [192.*.*.*]

>フォームAでデータ受信処理をしてフォームBに遷移した時
>フォームBでは受信ができません。ある機器をリセットすれば受信
>できます。
フォームAのポートを閉じてフォームBでポートを開き直せばよさそうだが。

標準モジュールでpublic変数作ってそこに受信結果を格納するのはダメなの?

編集 削除
ゆかり  2005-06-26 17:11:56  No: 90637  IP: [192.*.*.*]

>フォームAのポートを閉じてフォームBでポートを開き直せばよさそうだが。

これは試してみましたが駄目でした。
MCommを貼り付けたコントロールを1つ作り、そこから他のフォームを
呼び出すことにしました。
フォームごとにMSCommコントロールを貼り付けての処理は
私がやっている環境では上手くいきませんでした。

いろいろアドバイス頂いてありがとうございました。

編集 削除
ゆかり  2005-06-26 17:12:40  No: 90638  IP: [192.*.*.*]

解決を付け忘れてました・・・

編集 削除