掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
SendMessageで実行した処理について (ID:13700)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
2つのアプリをデュアルディスプレイのPCで同時に起動し、1つのアプリケーションである処理を行うと、もうひとつのアプリへSendMessageする処理で悩んでおります。 具体的にはホテルのカウンターシステムに似てるのですが、カウンター側で入室処理をするとカウンター側と顧客側の画面の両方を更新させます。画面は分かりやすいようにビジュアルで表現してまして、平面図のBMPに重ねた部屋ごとのTImageの色を変化するようにしました。 とまあ、ここまでは一応完成しております。 ところが、例えばカウンターアプリから4つの部屋を連続して空室にしたりすると、顧客側の画面の更新が追いつかないのか、4つ中2つだけ空室になり2つは入室中のままだったりと、処理が不安定になります。 1つずつゆっくり行えば問題はないのですが、それでは実用性が乏しくなってしまいます。 肝心のコードですが、以下の通り簡単に書いております。 hWnd := FindWindow(nil,'**顧客側アプリ名**'); SendMessage(hWnd, WM_REDRAW, 部屋番号, 0); ※WM_REDRAWメッセージはユーザー定義です。顧客側アプリでこのメッセージを受信したらパラメータの部屋番号のTImageを書き換える仕組みにしてます。 さまざまなところを調べた結果、SendMessageは処理が終わらないと制御が帰ってこないとありましたが、イメージ書き換え処理が重いのか、このような遅延が出る場合どうしたらよろしいのでしょうか? SendMessageで送信先のアプリから戻り値を確認できるまで処理をとめても良いのですが(画面更新を確実にしたいので)、何か参考になるサイトとかあれば教えて下さると非常に助かります。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.