掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
サブスレッドからメインスレッドの手続き呼び出しについて (ID:48138)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
初めまして、さんざん調べまくりましたが、よく解らず投稿致しました 宜しくお願い致します。 やりたいこと ・測定器のデータをシリアルで受信しロギングファイルを作成する 1データ約40バイトくらいのテキストデータ ・同時にDI/Oの入力を監視し(8点)、各入力ごとに上記ロギングファイルにデー タを追記する ・シリアル受信とDI/O入力は代わる代わる発生する 以上を実現するために以下のような構成のプログラムを作成しました ==メインスレッド== グローバル変数:A(string=ロギングデータ) <シリアル受信処理> ・シリアルデータの受信、データ整形 ・ロギングデータ生成関数呼び出し <ロギングデータ生成> ・ロギングデータをAに代入 ・ファイルセーブ関数を呼び出し <ファイルセーブ> ・追記モードでテキストファイルを開き、Aの内容をwritelnで書き込み保存 ==サブスレッド== //シリアル通信と平行して(全く同時に処理することはな い) ・DI/Oの入力が入るごとに、Aにデータを代入し ・メインのロギングデータ生成関数呼び出し ・メインのファイルセーブ関数呼び出し ※何れもSynchronizeメソッドを使って、呼び出しています 以上で出来たロギングファイルを、上記プログラム実行中「VNC」を使って他のPCから覗いています 質問です 1,サブスレッドからメインの関数を呼び出すのは、やっても良いことなのか 2,時々受信データが、あるべき位置に書き込まれていなかったり、逆にDI/ Oのデータがやはりあるべき位置に書き込まれていないという不具合が起きま す。その原因がサブスレッドからメインスレッドの関数を呼び出すことにあ るのでは、と何の根拠も無いのですが。 3,サブスレッドからメインスレッドの関数呼び出しがNGだと思った理由は、 色々調べたのですが、そのような例が一つも見当たらなかったからです。 以上、どなたかどうぞご教示宜しくお願い致します。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.