問題タブ [invocation]

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

java - 次のコードはどのように機能しますか

現在、私は次のようにそれを呼び出そうとしています:

コードの出力はこんにちは

0 投票する
5 に答える
2108 参照

java - オーバーロードされたメソッドの優先度

Elementという基本クラスがあります。他のいくつかのクラス(LabelやImageなど)は両方ともこのクラスを拡張します。

これで、次のメソッドを持つディスパッチクラスができました。

Label(Elementを拡張する)のインスタンスがあり、それをに渡したい場合createEditor()、なぜ最も一般的なメソッド(2番目のメソッド)が呼び出されるのですか?最も具体的なメソッド(createEditor(Label e))が呼び出されるのは正常ではないでしょうか。

a)Elementを実装しているが、このディスパッチングクラスに独自の特定のメソッドを持たないすべてのクラスを「キャッチ」するには、Element-paramを使用したメソッドが絶対に必要です。

Java 6を使用していますが、これを「修正」するにはどうすればよいですか?

編集:さて、私はそれがジェネリックについてはまったくないことを認めなければなりません。しかし、それは私が最初にそれに遭遇した場所です。

ありがとう、よろしく

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

c - Cでの直接呼び出しと間接呼び出し

私はCを初めて使用し、ポインターが別の変数のアドレスを「指す」方法について読んでいました。そのため、間接呼び出しと直接呼び出しを試しましたが、同じ結果が得られました(C / C ++開発者なら誰でも予測できたはずです)。これは私がしたことです:

だから私は、ポインタを使った間接的な呼び出しが直接的な呼び出しよりも利点があるのか​​、またはその逆なのか疑問に思っていますか?いくつかの長所/短所には、速度、操作を実行するために消費されるメモリの量(おそらく同じですが、私はそれをそこに出したかっただけです)、安全性(ダングリングポインタなど)、優れたプログラミング手法などが含まれ
ます。 GNU Cコンパイラ(gcc)を使用しても、returnステートメントなしでコンパイルされ、すべてが期待どおりに実行されます。おそらく、C ++コンパイラは、忘れた場合にreturnステートメントを自動的に挿入するためです。

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

java - JNIキャッシュされたjclassグローバル参照変数がガベージコレクションされていますか?

私は JNI 呼び出し API で作業しており、C から Java を呼び出しています。30 以上の Java クラスをグローバル参照にキャッシュするための事前初期化がいくつかあります。FindClass の結果は NewGlobalRef に渡され、クラスへのグローバル参照が取得されます。これらのクラス変数をキャッシュして、後で再利用します。クラスへの 30 以上のグローバル参照 (およびクラス コンストラクターの 30 以上のグローバル メソッド ID) があります。

次のサンプルでは、​​コード スニペットを短くするために、例外処理と JNI 呼び出しを削除しました。私の作業コードは、すべての JNI 呼び出しの後に例外チェックを行い、-Xcheck:jni で実行しています。スニペットは次のとおりです。

initializeJNI() 関数は、jclasses のグローバル参照とコンストラクターのメソッド ID を設定し、いくつかの jfieldID と C データ構造の初期化も設定します。

初期化後、キャッシュされた jclass と ctor jmethodID の一部を使用して JNI 関数を呼び出すと、-Xcheck:jni から不正なグローバルまたはローカル参照呼び出しが報告されます。

gdb では、initializeJNI() の最後の行で中断し、すべての jclass と jmethodID を出力し、問題を引き起こしているものはガベージまたはガベージ コレクション (0x00 または 0x06) になっているように見えます。グローバル参照を gc することは可能ですか?

助言がありますか?

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

php - Weird problem with dynamic method invocation

this time, I'm facing a really weird problem. I've the following code:

#xA;

As you can see, I get the class name and method name from an XML file. I can create an instance of the class without any problem. The var_dump at the end returns true, that means $method_name (which has 2 optional parameters) is a method of $className.

BUT, and I am pretty sure the syntax is correct, when I try: $obj->$method_name() I get:

Fatal error: Method name must be a string

If you have any ideas, pleaaaaase tell me :) Thanks in advance, Rolf

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

java - JNI 呼び出し API で作業しているときにオブジェクトを C 関数に渡しても安全ですか?

JNI 呼び出し API を使用して何かをコーディングしています。AC プログラムは JVM を起動し、JVM を呼び出します。JNIenv ポインターは、C ファイルに対してグローバルです。特定のクラスの jobject に対して同じ操作を実行する必要がある多数の C 関数があります。そこで、jobject を受け取って処理し、必要なデータ (C データ型 ... たとえば int ステータス値) を返すヘルパー関数を作成しました。C ヘルパー関数を作成し、それらに引数として jobject を渡すことは安全ですか?

すなわち(簡単な例 - 質問を説明するために設計されています):

ありがとう。

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

delphi - トレイで実行中のアプリを再アクティブ化する最良の方法は何ですか?

トレイ アイコンに最小化して実行される Delphi アプリがあります。トレイ アイコンをダブルクリックすると、アプリは非モーダル ユーザー インターフェイス フォームを開きます。

アプリが既に実行されているかどうかを検出するロジックをアプリに追加しました。実行されていない場合は、起動してトレイに最小化されます。

既に実行されている場合は、それ自体の最初のインスタンスに制御を渡し、非モーダル フォームを開き、終了します (2 番目のインスタンス)。これを行う最善の方法は何ですか?

ティアR

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

java-me - J2ME - Midlet 呼び出しタイプの認識

MIDlet は、手動で呼び出されたのか自動で呼び出されたのかをどのように確認できますか?

ありがとう!

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

reference - Invocation APIを介して取得されたJNIオブジェクト参照:ローカルまたはグローバル?

Cプログラム内でJVMを起動するJNI呼び出しAPIを使用しています。この状況では、JVMを明示的に破棄するまで有効なJNIEnvポインターを取得します。ローカル/グローバルの区別はここでも適用されますか?JNIEnvは常にスコープ内にあるため、新しく作成されたオブジェクトへのローカル参照の意味は何ですか?

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

c# - 特定の代理人がすでにイベントに割り当てられているかどうかを確認するにはどうすればよいですか?

WinFormにコマンドボタンがあります。だから、私が次のようなものを持っている場合:

特定のMyHandlerがすでにClickイベントに追加されているかどうかを確認して、コード内の別の場所に再度追加されないようにするにはどうすればよいですか?

自分のイベントの情報にGetInvocationList()を使用する方法を読みました。しかし、さまざまな組み合わせを使用してコマンドボタンのアイテムを取得しようとすると、エラーが発生します。それは言う、

「イベント'System.Windows.Forms.Control.Click'は、+=または-=の左側にのみ表示されます。」

私は何が欠けていますか?

[編集]-アフマドが指摘したこの質問を強調したいと思います。それは応急修理であり、私見の方が簡単なはずですが、うまくいくようです。