待辦事項 #40501

ブロードキャストコマンドのUnicode化

啟用日期: 2020-06-23 00:03 最後更新: 2022-01-07 00:43

回報者:
負責人:
類型:
狀態:
關閉
元件:
里程碑:
優先權:
5 - 中
嚴重程度:
5 - 中
處理結果:
修正
檔案:
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

細節

  • Unicodeを扱えるようにする
    • Unicode(漢字)などが入力できるようにする
    • 同様にペーストできるようにする

Ticket History (3/10 Histories)

2020-06-23 00:03 Updated by: zmatsuo
  • New Ticket "ブロードキャストコマンドのUniode化" created
2020-06-23 00:04 Updated by: zmatsuo
評語
2020-06-23 00:18 Updated by: zmatsuo
評語
  • broadcast ブランチで調整中
  • broadcast がすぐに伝わらない事があるようだ
    • メッセージポンプの GetMessage() でブロックしている?
2020-06-23 00:19 Updated by: zmatsuo
  • Details Updated
2020-06-23 08:49 Updated by: doda
  • Summary Updated
2020-06-28 23:28 Updated by: zmatsuo
評語

時々ブロードキャストの受信が遅い現象が見られたため調査。

  • 通常はウィンドウメッセージを処理するウィンドウプロシージャは メッセージポンプを経由してコールされる
        メッセージポンプ
           GetMessage()
           TranslateMessage()
           DispatchMessage()
           idle処理など
         ↓
         各ウィンドウプロシージャ
    
  • なにかのきっかけで SendMessage() のメッセージは ウィンドウプロシージャに直接送られ、メッセージポンプを通らなくなる
    • なにかのきっかけで、再度メッセージポンプを通るようになる
  • Tera Termではメッセージポンプ内のidle処理で送受信処理を行う
  • ブロードキャスト処理では SendMessage(WM_COPYDATA) で VTWin に文字を送り込む
  • このため、ブロードキャストでは時々送受信処理が止まることがある
  • Tera Termで何らかのメッセージ処理が行われると溜まっていた処理が行われる
    • ウィンドウ上をマウスカーソルが移動するなど
(Edited, 2020-06-28 23:49 Updated by: zmatsuo)
2020-06-28 23:47 Updated by: zmatsuo
評語

r8819 で対策しました。

WM_COPYDATA メッセージを処理する際、 SetTimer()を使ってWM_TIMERを発生させるようにしました。

SetTimer() は、指定した関数を呼び出せるためか、 WM_TIMRはプライオリティの低いメッセージのためか、 必ずメッセージポンプを経由するようです。

r8818 はテストをするために作成した、 文字列を送り込むコマンドラインのプログラムです。

Tera Term の設定でマルチキャスト名を設定できるようにして、 これと合わせて使えば便利に使えるかもしれません。

いまのところ cmake ビルドでのみビルドされます。

1週間程度様子を見て、trunk にマージします。

2020-06-28 23:52 Updated by: zmatsuo
  • 處理結果 Update from to 修正
2020-07-03 23:51 Updated by: zmatsuo
評語

trunkにマージしました。

r8823, r8824, r8825, r8826, r8827, r8828, r8829, r8830

2022-01-07 00:43 Updated by: zmatsuo
  • 狀態 Update from 開啟 to 關閉

Attachment File List

No attachments

編輯

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登入