問題タブ [dispatch]

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 投票する
1 に答える
984 参照

com - COMディスパッチインターフェイスからフック用の関数ポインタを取得できますか?(デュアルインターフェースではありません)

COM Distachインターフェイスのフック方法について質問してもいいですか?

最近、COM監視ツールの一種であるユーティリティを作っています。

実行中にComオブジェクトのインターフェイスをフックしようとしています。

そのためには、lib型を使用する必要がありました。

以下は私のコードの概要です。

これは、ディスパッチインターフェイス(デュアルではない)を持つComオブジェクトが見つかるまで成功しました。

一部のComオブジェクトにディスパッチインターフェイス(デュアルではない)しかない場合、VTableに関数ポインターはありません。

GetTypeInfoCount、GetTypeInfo、GetIDsOfNames、InvokeなどのMFCの関数ポインタがあります。

さらに、pfuncdesc-> oVftは、そのインターフェイスに属するすべての関数に対して常に0です。

この種のcomオブジェクトを使用するときは、「Invoke」メソッドを使用する必要があることを知っています。

しかし、問題は、Imがフックしようとしていることです。関数ポインタが必要です。

IDispatchからこれらの関数ポインタを取得するにはどうすればよいですか?

IDispatch->vtableにはMFCの関数ポインタのみがあります。

アドバイスをいただければ幸いです。

よろしくお願いします。

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

apache-flex - Flex - 親が子の関数を実行していない

この数日間、この質問を手伝ってくれた www.Flextras.com に感謝します。main.mxml、child.mxml、および headermenu.mxml があります。イベントを main.mxml にディスパッチする headermenu のボタンをクリックすると、main.mxml が child.mxml のメソッドを実行します。child.mxml 内で呼び出している関数に AlertDialog を配置したため、これが機能することはわかっています。child.mxml には、erase() を持つ drawingArea オブジェクトが含まれています。これを child.xml から直接呼び出すと実行されますが、子の親 (main.mxml) によって呼び出される関数内に drawingArea.erase() を配置すると、何も起こりません。

これが私のコードです:

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

monkeypatching - 汎用タイプのタグ関数テーブルにモンキーパッチを適用する方法

sicpで機能的な動的ディスパッチを実行できる方法の1つを読むのは興味深いと思いました。タグ+名前のタイプのテーブルを使用して->フェッチまたは追加できる関数を使用します。

私は疑問に思っていました、これは動的な非OO言語の典型的なタイプディスパッチメカニズムですか?

また、テーブルの連鎖リストを使用して、これをモンキーパスする一般的な方法は何でしょうか(最初のテーブルに見つからない場合は、次のテーブルを再帰的に試してください)。ローカルスコープ内のテーブルを変更されたコピーに再バインドしますか?電気ショック療法?

0 投票する
0 に答える
960 参照

ruby-on-rails-3 - Rails 3 - アプリケーション エラー、Rails アプリケーションを正しく起動できませんでした

このエラーについてヘルプをお願いしたいと思います。解決策を検索しようとしましたが、残念ながらまだ成功していません。

私のディレクトリには適切な権限があります。

ディスパッチ.fcgi

しかし、ディレクトリ /log/myapp_fcgi_crash.log には空のログがあります (このディレクトリには、development.logproduction.logもあります)。

convig.enviroments.rbを設定してみた

残念ながら、このトピックのタイトルにあるように、まだ機能しておらず、エラーが発生しています...

この問題を解決する方法を教えてください。私はすでに2日目にこの問題に苦しんでいますが、まだ変化はありません...

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

javascript - 通常のオブジェクト (DOM オブジェクトではない) でイベントをディスパッチすることは可能ですか?

FileReader が DOM 要素であるかのようにイベントをディスパッチすることがわかりました。それは...ですか?HTML/XML 構造での表現を持たないが、イベントをディスパッチできる FileReader に似たオブジェクトを作成することは可能でしょうか?

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

c - C では、アセンブリ命令の数がコードの複数のセクションに対して固定されていることを確認してください

私が書いている仮想マシンで、次の擬似コードのような方法でコマンドをディスパッチできるようにしたいと考えています。

ここで、memory はバイトコードを含む配列で、pc はプログラム カウンターです。ただし、これを行うには、ジャンプするこれらの位置のそれぞれが、次のブロックの前に正確に同じ数の命令を持っている必要があります。同じコードを使用して Linux、Mac、および Windows にコンパイルできる、プラットフォームに依存しない優れたアセンブリ コードがない限り、アセンブリにドロップダウンすることはできません。プロセッサに関係なく、それぞれが上に座っています。どんな助けでも大歓迎です。

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

google-chrome - クロームディスパッチングホイールイベント

ホイールイベントをクロームでディスパッチしようとしていますが、それでもできません。WheelEventオブジェクトを使用していますが、正しく「初期化」できないようです。私が何をするにしても、デルタは常に0です。仕様を見ましたが、助けにはなりませんでした。さらに興味深いことに、実際にマウスホイールでスクロールしてそのイベントをディスパッチしようとしたときにイベントをキャプチャしましたが、デルタは0でした。誰かがそのような問題に遭遇しましたか?これはおそらくバグですか?どんな助けでも素晴らしいでしょう!

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

java - 紛らわしいメソッドバインディング

この単純なプログラムの出力はですThis is base

  • 私の質問は、この行を使用しているときに、基本クラスmainAppの参照を使用して派生mainApp newObj = new derived();クラスのオブジェクトを実際に作成していないかどうかです。それで、オブジェクトを使用してそのメソッドを呼び出すとき、派生クラスからメソッドを取得しないのはなぜですか?基本クラスからメソッドを取得する理由。

  • この行を使用して、 mainAppmainApp newObj = new derived();の参照を操作しているか、派生クラスのオブジェクトを操作していますか。どちらが正しいですか?

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

java - Androidでクリックイベントをディスパッチする方法

ボタンを含むカスタム ナビゲーション バーがあります。クリック イベントをディスパッチして、ナビゲーションバーを含むアクティビティがクリックに応答できるようにします。

誰でも助けることができますか?

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

android - Androidエラー-NullPointerExceptionビューディスパッチキーイベント

アプリを閲覧しているときに、このエラーが発生することがあります。このエラーがランダムに発生するかどうかはわかりませんが、その理由はわかりません。ログに私のアプリケーションに固有の情報が表示されませんか?

誰かが私にこのエラーが発生する理由のヒントやヒントを教えてくれることを願っています。(最後にポップアップであるQuickaction Dialogを開こうとしたときに、同じQuickaction Dialogを2回目にした後、3回目に試した後、再び機能しました。今では、再び機能しますか?)

ここにいくつかの詳細があります:

QuickactionBuilderは、私のためにQuickActionダイアログを作成するだけです。それは次のように簡単です:(その方法の基本を示すためだけに)