問題タブ [messages]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
9504 参照

java - Android: レスポンシブ ユーザー インターフェースのベスト プラクティス

私はAndroidとJavaを初めて使用します。イベントがメッセージとともにディスパッチされる C++ を使用する前に。次に、Android プラットフォームでも同じユーザー エクスペリエンスを作成したいと考えています。イベントをユーザー コントロールにバインドする最善の方法について、ご提案やコメントをいただければ幸いです。

C++ の例を次に示します。

...

...

上記の場合、メソッドRecordStart()は a にバインドされButton( a が押されたときに実行されButtonます)、メッセージを投稿しますWM_RECORD_START。メッセージWM_RECORD_STARTが受信されると、メソッドOnRecordStart()が実行されます。

OnRecordStart()前に述べたように、応答性の高いユーザー インターフェイスを作成したいと考えていますが、メソッドが から直接呼び出された場合に十分かどうかはわかりませんRecordStart()

私は本当にあなたの提案をいただければ幸いです。

0 投票する
3 に答える
40430 参照

objective-c - 複数のパラメータを使用してメソッド/メッセージを作成するにはどうすればよいですか?

複数のパラメータを使用してメソッド/メッセージをどのように記述しますか?

編集:単一のメソッド/メッセージの複数のパラメータのように、私は意味します。

0 投票する
1 に答える
2338 参照

windows - PostThreadMessage が ERROR_INVALID_THREAD_ID を返す

Windows Vista でマルチスレッド シミュレーションを実行しています。PostThreadMessage を使用してスレッド間でメッセージを送信すると、すべてのスレッドから PeekMessage を呼び出すため、スレッド ID が有効であり、スレッドにメッセージ キューがあることを (デバッガーをステップ実行して) 確信しているにもかかわらず、ERROR_INVALID_THREAD_ID を取得しています。 MSDNで指定されているように、それらを作成した後。ターゲット スレッドが中断されている可能性がありますが、私が知る限り、それは問題ではありません。

何を試すかについての手がかりはありますか?私は RTOS ベースのアプリケーションをシミュレートしているので、Windows 固有のコードをあまり追加する必要がないように願っています。

編集 -

別の手がかり - すべてのセマフォ ブロッキングを削除すると、メッセージは正常に機能します (ただし、既知の競合状態がいくつかあります)。しかし、メッセージ キューはスレッド ブロックの影響を受けるべきではありませんよね?

編集2 MSDNで提案されているように、コードには次の再試行メカニズムもあります。しかし、それでもうまくいきません - 再試行は常に失敗します。うーん.....

0 投票する
1 に答える
1819 参照

c# - ShellHookメッセージHSHELL_RUDEAPPACTIVATEDの意味を知っている人はいますか?

シェル イベントを取得するためのシェル フックを確立するアプリケーションを作成しています (重要な場合は C# を使用しています)。この例を使用しています: http://msbob.spaces.live.com/blog/cns!DAFD19BC5D669D8F!132.entry

フックは正常に動作していますが、興味のあるメッセージを受け取りません: HSHELL_WINDOWACTIVATED (他のすべてのウィンドウ関連のイベントは正常に動作します)。代わりに、HSHELL_RUDEAPPACTIVATED である必要があるコード 32772 のメッセージを受信して​​います (グーグルが役立ちました)。

しかし、HSHELL_WINDOWACTIVATED をまったく受信しない理由と、この HSHELL_RUDEAPPACTIVATED メッセージの意味がわかりません。MSDN には、それについての言及はありません。誰か説明してくれませんか?

0 投票する
3 に答える
294 参照

binary - .mid ファイルの余分なバイト

.mid ファイルから情報を読み込もうとしていますが、どの MIDI メッセージにも含まれていないように見える余分なバイトが表示され続けます。これらを予測/対処する方法がわかりません。プロジェクトで他のすべてを捨てています。助言がありますか?いくつかの例を次に示します。

これらのいくつかは、まったく理由もなくゼロ以外のデルタ時間を持っているように見えるため、ここに内訳があるとは思えません。

0 投票する
2 に答える
272 参照

c++ - ユーザーの保存、エラー、例外メッセージ(c ++)

かなり単純な質問。エラー、例外、ユーザーメッセージはどこに保存すればよいですか?これまでのところ、私は常に、呼び出される関数内でローカル文字列を宣言し、気にしませんでした。例えば

突然、構築と初期化が毎回呼び出され、かなりの費用がかかる可能性があることに気付きました。それらを静的文字列としてクラスに保存したり、別のモジュールに保存したりする方がよいでしょうか?ここではローカリゼーションは当てはまりません。

前もって感謝します。

0 投票する
4 に答える
4764 参照

delphi - DelphiでProcessMessagesを防ぐ方法

Application.ProcessMessagesコマンドはよく知られており、プログラムがコンピューターを拘束しないようにするために、長いプロセスで使用しています。

しかし、ビューをファイルにバッファリングする、かなり高速な一連の処理があります。バッファリング手順中に、いくつかのシステムメッセージが送信される場合があります(たとえば、再描画、スクロールバーの移動、またはその他のイベント)。バッファリングが完了するまで、これらがProcessMessagesによって処理されないようにします。

次のいずれかにする方法はありますか?

  1. 手順が完了するまでApplication.ProcessMessagesを禁止するか、

  2. 手順中に生成されたすべてのメッセージをトラップし、手順が終了するまでメッセージを解放しないでください。

0 投票する
6 に答える
5215 参照

java - メッセージ タイプをチェックするときの instanceof の回避

クライアント クラスが受信するメッセージの種類に基づいて異なる動作を実行する次のような状況があります。instanceof ステートメントと if ステートメントが気に入らないので、これを行うためのより良い方法があるかどうか疑問に思っています。

私が考えたことの 1 つは、メソッドをクライアント クラスから引き出してメッセージに入れることでした。IMessage インターフェイスに process() のようなメソッドを配置し、具体的なメッセージ タイプのそれぞれにメッセージ固有の動作を配置します。これにより、タイプをチェックするのではなく message.process() を呼び出すだけなので、クライアントが単純になります。ただし、これに関する唯一の問題は、条件に含まれる動作が Client クラス内に含まれるデータの操作に関係していることです。したがって、具体的なメッセージ クラスにプロセス メソッドを実装した場合、それをクライアントに渡す必要があり、これが本当に意味があるかどうかもわかりません。

0 投票する
2 に答える
3031 参照

c++ - カスタムListCtrlからWM_NOTIFYメッセージをキャッチする

私のアプリケーションはc++で、MFCとATLを組み合わせたものです。ここで使用しているのはMFCです。

ダイアログの1つに、CListCtrlから継承するカスタムリストコントロールクラスがあります。

リストの内容に依存するダイアログフォームの残りの部分を更新できるように、LVN_ITEMCHANGEDメッセージのハンドラーを追加しようとしています。具体的には、各リスト項目にチェックボックスフィールドがあり、それがいつ変更されたかを検出する必要があります。

問題は、私のリストがメッセージを送信していないことです。

これが私のメッセージマップであり、問​​題なく機能します。メッセージを変更するだけで、LVN _ ITEMCHANGING、NM_CLICK、NM_RELEASEDCAPTUREなどの他のメッセージを検出しました。

したがって、私の推測では、listctrlカスタムクラスはどういうわけかメッセージを適切に投稿していません。

この質問にはさまざまな方法で答えることができます
。1。LVN_ITEMCHANGEDメッセージを子リストからその親(ダイアログ)に送信するにはどうすればよいですか。
2.私は正しいメッセージをキャッチしていますか?私が試したもののほとんどは、更新のトリガーが早すぎます(つまり、リスト内のデータが更新される前に)。これを行うと、リストの以前の状態に基づいてダイアログが更新されます。
3.私がしてはいけないことは他にありますか?私はこれをオープンエンドにするためだけにお願いします。