C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.6851 の関連記事表示

<< 0 >>
■6851  Re[1]: PropertyGridの制御について
□投稿者/ επιστημη -(2006/09/26(Tue) 16:09:45)

    分類:[C#] 

    > デザイン画面のプロパティを変更(PropertyGrid)すると、関連するプロパティが
    > 連携して、値が変わって欲しいのです。

    で、なにがわからんですか?
    プロパティが変更されたら PropertyValueChanged イベントが発生しますが。

記事No.6850 のレス /0過去ログ6より / 関連記事表示
削除チェック/

■6851  Re[3]: Control.Invokeが使えない件。
□投稿者/ 渋木宏明(ひどり) -(2007/08/25(Sat) 03:05:09)
>
    > スレッド間通信の問題ですので、一回だけでは再現しない場合もあります。

    精密に内容を把握していなかったかも>自分

    「Control.Invoke() の使用による不都合の原因は Windows のメッセージング機構に問題がある」という話だと思ってたんですが、そうではなくて「不都合の原因は Control.Invoke() の実装にあるのでは?」というお話なんですね?

    とすると、ヘンテコな現象が起きる原因は

    > ちなみに、Control.InvokeはPostMessageを使っています。

    な気がします。

    同期メッセージング用に用意されている SendMessage() を使わないで、非同期メッセージングを使って外側で、自前で同期を取ろうとしているところに無理が出てるのかもしれません。

    > どういうInvoke内容だったら安全なんでしょうか?

    ウィンドウやコモンコントロールのラッパに関して言えば、基本的には Control.Invoke() から戻ってくるまでの間、Control.Invoke() 先が有効なウィンドウハンドルを保持していればよろしんじゃないでしょうか。

    もちろん、SendMessage() ですらデッドロックを起こすような変なことをしていないのが前提です。

    > 話の内容からすると、
    > Nyaruruさんも渋木宏明(ひどり)さんも、
    > Control.Invokeのデッドロックに遭遇したことがないようですね。

    無いです。

    先にも述べたとおり、元々 SDK レベルで SendMessage() を使っている場合でさえ、条件が悪ければデッドロックを起こすことは分かっていますが、きわどいタイミングでメッセージ伝達が起きないように VC++ を多用していた頃からオブジェクトの寿命管理を徹底しています。
記事No.6843 のレス /過去ログ18より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -