問題タブ [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 投票する
0 に答える
153 参照

debugging - vs2008 と vs2010 の間でのデバッガーの動作の変更

Visual Studio 2008 と 2010 デバッガーの動作の違いに苦労しています。

2008 年に、デバッガーがアタッチされている場合、以下のコードは、オブジェクト a の I のプロパティ セッターで未処理の例外を表示するために停止しませんでした。(メニューオプション: デバッグ/例外、ユーザー未処理オン、およびオプション「スロー」オフ)

try catch ブロックは targetInvocationException をキャッチするので、安全に無視することができます (特別なケースでは注意してください)。

ただし、vs 2010 では、デバッガーが接続されたこのコードは、値 I を設定しようとして失敗したときに壊れます (同僚にとっては、これが原因でデバッグの実行が突然停止することを望まないため、これは迷惑です)。

私が理解している限り、クラスに属性「System.Diagnostics.DebuggerNonUserCode」を適用するか、デバッグオプション「自分のコードのみを有効にする」を無効にするオプションがあります。

最初のオプションは、実際には実行可能なものではありません。現実の世界では、クラス A が (他にも何百もの) 生成されるためです。大きな解決策。

Just my code オプションを無効にすると違いが生じる理由を誰かに説明してもらえますか?

前もって感謝します!;)

ps また、Debug/Exceptions/Common language runtime exceptions、system.Reflections のすべてのリフレクション未処理オプションを無効にしようとしましたが、効果がないように見えました...

-- コード例 --

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

java - 抽象データ型内でのメソッド呼び出しのJava順序付け?

メソッドの動作が実装されている抽象クラスがある場合、および動作が実装されていない場合のメソッド呼び出しの順序はどのようになっていますか?

私の抽象クラスがAbsと呼ばれ、Sub1とSub2の2つのサブクラスがあるとします。

ケース1の場合、AbsにはメソッドMeth1の実装コードが含まれています

完全に異なるクラスで、私はメソッドを持っています:

ここで、Absの代わりにSub1またはSub2のいずれかを渡します

ケース2の場合、Absには実装コードが含まれていません(ただし、Sub1とSub2には含まれています)

そして私は同じことを呼びます:

Sub1またはSub2のいずれかを渡した後。

それぞれの場合のメソッド呼び出しの順序は何ですか?それは常にスーパークラスのAbsに行き、次にサブクラスに行きますか?サブクラスがパラメーターとして渡されたため、最初にサブクラスに移動しますか?次に、JVMはサブクラスに実装コードが提供されているかどうかを確認し、提供されていない場合は、実装コードがある場合はスーパークラスメソッドが呼び出されますか?

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

.net - .NET イベントへの登録/登録解除は一定時間の操作ですか?

マルチキャスト デリゲートの呼び出しリストは、一定時間の挿入と削除をサポートするリンク リストとして実装されていることを理解していたので、最初はイエスだと思っていました。ただし、マルチキャスト デリゲートは不変であるため、追加/削除操作を行うには、実際には呼び出しリストをコピーする必要があるようです。これは正しいですか、何か不足していますか?

さまざまな短命オブジェクトのハンドラーをイベントに頻繁に登録し、それらが破棄される直前に登録解除する長時間実行アプリケーションがあるため、登録/登録解除のコストは重要です。呼び出しリストはかなり長くなる可能性があるため、これを一定時間の操作にしたいと考えています。

0 投票する
9 に答える
18082 参照

java - C++からJavaを呼び出す便利な方法を探しています

JNI(Java Native Interface)に関連するほとんどのドキュメントまたはヘルパーライブラリは、Javaからのネイティブコードの呼び出しに関係しているようです。それ以上の能力があるにもかかわらず、これが主な用途のようです。

私は主に反対の方向で作業したいと思います。既存の(かなり大きな)ポータブルC ++プログラムに、いくつかのJavaライブラリを追加して変更します。たとえば、JDBCを介してデータベースを呼び出したり、JMSを介してメッセージキューシステムを呼び出したり、電子メールを送信したり、独自のJavaクラスを呼び出したりしたいのですが、生のJNIでは、これはかなり不快でエラーが発生しやすくなります。

したがって、理想的には、C ++/CLIがCLRクラスを呼び出すのと同じくらい簡単にJavaクラスを呼び出すことができるC++コードを記述したいと思います。何かのようなもの:

このように、名前と奇妙な署名文字列を渡すことによってメソッドIDを取得する作業を手動で行う必要がなく、メソッドを呼び出すためのチェックされていないAPIによって引き起こされるプログラミングエラーから保護されます。実際、同等のJavaによく似ています。

NB。私はまだJNIの使用について話し合っています!基盤となるテクノロジーとして、それは私のニーズに最適です。それは「進行中」であり、非常に効率的です。別のプロセスでJavaを実行して、RPC呼び出しを行いたくありません。JNI自体は問題ありません。私はそれに快適なインターフェースが欲しいだけです。

私が指定する一連のJavaクラスによって公開されるものと完全に一致するように、同等のC ++クラス、名前空間、メソッドなどを作成するためのコード生成ツールが必要になります。生成されたC++クラスは次のようになります。

  • 同様にラップされたバージョンのパラメーターを受け入れるメンバー関数を用意し、必要なJNIブードゥーを実行して呼び出しを行います。
  • 自然な方法で呼び出しを連鎖できるように、同じ方法で戻り値をラップします。
  • メソッドIDのクラスごとの静的キャッシュを維持して、毎回検索しないようにします。
  • 完全にスレッドセーフで、ポータブルで、オープンソースであること。
  • すべてのメソッド呼び出しの後に例外を自動的にチェックし、stdC++例外を生成します。
  • また、通常のJNIの方法でネイティブメソッドを記述しているが、他のJavaコードを呼び出す必要がある場合にも機能します。
  • 配列は、プリミティブ型とクラスの間で完全に一貫して機能する必要があります。
  • ローカル参照フレームの外で存続する必要がある場合に参照をラップするためにグローバルのようなものが必要になることは間違いありません-繰り返しますが、すべての配列/オブジェクト参照で同じように機能するはずです。

そのような無料のオープンソースのポータブルライブラリ/ツールは存在しますか、それとも私は夢を見ていますか?

注:私はこの既存の質問を見つけましたが、その場合のOPは、私がしているほど完璧を要求するものではありませんでした...

更新: SWIGについてのコメントは、この前の質問に私を導きました。これは、それがほとんど反対方向についてであり、したがって私が望むことをしないことを示しているようです。

重要

  • これは、Javaクラスとオブジェクトを操作するC ++コードを記述できることについてであり、その逆ではありません(タイトルを参照してください)。
  • JNIが存在することはすでに知っています(質問を参照してください)。しかし、JNI APIへの手書きのコードは、不必要に冗長で、反復的で、エラーが発生しやすく、コンパイル時に型チェックされません。メソッドIDとクラスをキャッシュする場合オブジェクトそれはさらに冗長です。これらすべてを処理するC++ラッパークラスを自動的に生成したいと思います。

更新:私は自分の解決策に取り組み始めました:

https://github.com/danielearwicker/cppjvm

これがすでに存在する場合は、私に知らせてください!

NB。自分のプロジェクトでこれを使用することを検討している場合は、遠慮なく言ってください。ただし、現在、コードは数時間前のものであり、これまでに作成したテストは3つだけです。

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

java - 「java」バイナリに影響を与える環境変数は何ですか?

環境変数の値に基づいて動作が変化するほとんどの UNIX コマンドには、man ページに「環境変数」セクションがあります。Java バイナリ (Sun/Oracle Java 6) にはそのような運はありませんが、CLASSPATH やおそらく JVM_OPTS などが影響していることは確かです。

「Java」バイナリに影響を与える環境変数のリストを教えてもらえますか?

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

ruby - 誤って例外と呼ばれる

経由でファイルを呼び出すとき

私は得る

問題はどこにありますか?

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

constructor - プロジェクトを停止している XamlParseException

私は本「Microsoft VS C# 2010 Step by Step」を使用して C# 2010 を学習しています。その第 27 章ではタスク並列ライブラリが紹介されています。提供された「GraphDemo」プロジェクトを実行すると、XamlParseException エラーが発生します。私は同じ例外でこのサイトのいくつかのスレッドを調べ、内部例外を PerformanceCounter の読み込みの失敗にドリルダウンすることができました。システムの .NET Framework 4 インストールの破損を恐れて、元の状態に修復しましたが、エラーは解決しません。奇妙なことに、この本の他の読者の誰もこの問題について不満を述べていません。私が出版社に手紙を書いた後、著者は私にプロジェクトの zip ファイルを送るように頼みました。第 27 章には他に 7 つのプロジェクトがあり、それらのすべてが私のシステムで同じエラーをスローします。

これは、生成された例外の全文です。

25 行目は、memCounter が初期化される行です。

私が得ることができるすべての助けに感謝します。

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

javascript - JavaScriptでこの関数を呼び出すにはどうすればよいですか?

私はJavaScriptの基本レベルで作業しています。今日、私は以下を見つけ、新しいデータがDIVに追加されたときにDIVレイヤーを下にスクロールしました。関数の呼び出し方がわかりませんでした。window.onload関数を使って使うのですか?またはその他。そして、DIV名はどこで宣言すればよいですか?

コードは次のとおりです。

アップデート1:

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

iphone - SIGABRT を引き起こす NSInvocation を使用

私はいくつかのチュートリアルに従いましたが、それらを自分のニーズに適応させることはできません。NSInvocation単純に、アプリの後で保存して呼び出すマネージャー オブジェクトがあります。

アプリケーションを実行すると、メソッドの署名が null になりNSInvocation、getter からを割り当てようとしてもSIGABRT.

cars all メソッドは配列 "1","2","3","4" を返すだけです。私のオブジェクトマネージャーでは、これを行います:

そして私はそれを次のように呼びます:

それだけです。呼び出しのターゲットなどを呼び出したり割り当てたりすることさえできません。何をやってもうまくいかない。