問題タブ [block]
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.
windows - VB.Net を使用して外部アプリケーションから MsgBox をブロックする
外部アプリケーションから MsgBox() をインターセプトし、VB.Net を使用してブロックする方法はありますか?
この説明では、MsgBox のタイトルが「SQL アプリケーション」で、メッセージが「SQL エラー - 再試行」であるとします。
ポップアップする MsgBox を検索して (ウィンドウ タイトルを監視することにより)、キーを送信して [OK] を押す例をいくつか見つけましたが、プロセス全体を回避できるかどうかに興味がありました。そうしないと、一時的なものであっても、ユーザーには MsgBox または「フラッシュ」が表示されます。
これを回避することは可能ですか?
java - Java 7でファイルストアのブロックサイズを移植可能に取得するにはどうすればよいですか?
java.nio.file.attribute.Attributesとを調べましたjava.nio.file.FileStoreが、ディスク ファイルのブロック サイズを検出する方法が見つかりませんでした。
deadlock - xlib/ xcb デッドロックまたはブロック
xlib と cairo を使用してプログラムを開発しました。参考までに、cairo と xlib の呼び出しを混在させていますが、それがエラーの原因であるかどうかはわかりません。状況によっては、デッドロックまたはブロックが発生します。xlib で動作する 3 つのスレッドがあります。1 つは xlib と cairo の両方を呼び出すメインの UI スレッドで、もう 1 つは XClientMessage を送信するためだけにそれを使用し、3 番目は XCopyArea のような xlib 呼び出しを行い、最後に XClientMessage を送信します (これらはいくつかのアニメーション用です)。プログラムの冒頭で InitThreads を呼び出しました。また、すべての xlib 呼び出しを XLockDisplay で保護しました (cairo 呼び出しも XLockDisplay で保護されています)。ubuntu 10.10 を使用しています。スタック トレースは次のとおりです。
(gdb) スレッド 1
__kernel_vsyscall () の 0
/lib/tls/i686/cmov/libc.so.6 からの poll ( ) の 1
?? の 2 () /usr/lib/libxcb.so.1 から
3 in ?? () /usr/lib/libxcb.so.1
から xcb_writev で 4 () /usr/lib/libxcb.so.1 から _XSend () で
5 /usr/lib/libX11.so.6 から _XEventsQueued () で
6 /usr/lib/libX11.so.6 から
7 XPending () から /usr/lib/libX11.so.6
(gdb) スレッド 6
0 __kernel_vsyscall ()
で 1 __lll_lock_wait () から
/lib/tls/i686/からcmov/libpthread.so.0
2 in _L_lock_752 () from /lib/tls/i686/cmov/libpthread.so.0
3 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
4 in ? ? () /usr/lib/libX11.so.6 から
/usr/lib/libX11.so.6
(gdb) の XLockDisplay () の 5 (gdb) スレッド 7
__kernel_vsyscall () の 0
__lll_lock_wait () の 1 /lib/tls/i686/cmov/libpthread.so.0 の
2 __L_lock_752 ( ) /lib/tls/i686/cmov/libpthread.so.0 から
3 で pthread_mutex_lock () /lib/tls/i686/cmov/libpthread.so.0 から
4 ?? () /usr/lib/libX11.so.6 から
5 in XLockDisplay () /usr/lib/libX11.so.6 から
スレッド 1 はメインの UI スレッドで、現在イベント ループで XPending を呼び出しています (すでに XLockDisplay を呼び出しています)。 XSendMessage を呼び出します (スレッド 1 が終了するのをスレッド 7 と共に待機しています)。しかし、スレッド 1 は決してポーリングから戻らないようです。関連性があるかどうかはわかりませんが (Linux や libc の専門家ではありません)、別のスレッドがポーリングで待機しています (これは TCP/IP ネットワーク通信用のスレッドです) (gdb) thread 2
0 in /lib/tls/i686/cmov/libc.so.6 からの__kernel_vsyscall ()
poll () の 1
同様のデッドロック/ブロックを経験した人はいますか? これは xcb のバグでしょうか? xcb なしで xlib をコンパイルしてみる価値はありますか? ありがとう
java - alt+esc、control-alt-delete などの Java ホットキーをブロックする
私はJavaアプリを構築しています. Alt+ Tab、Control+ Alt+などのホットキーをブロックする必要がありDeleteます...基本的にこれら。私のアプリケーションは制御アプリケーションであるため、これを必要とします。Javaで解決できない場合は、これを行う別の方法を知っている人がいます。
ありがとうございます!
Edit1 :パスワードを必要とする「コンピューターマネージャー」を構築しています。パスワードが入力されていないか間違っている場合、ユーザーはコンピューターで何もできません。デフォルトのログイン画面ビューのように機能しますが、多くのユーザーがいます。とった?
Edit2 : ユーザーがパスワードを入力すると、これらのホット キーのすべて (またはalt+ : などの一部) を使用できるようになります。tabとった?[2]
objective-c - Objective C ブロック:「自己」が保持されないようにする方法はありますか?
これをできるだけ簡潔に書き留めようとしていますが、説明するのは簡単ではありません-読んでくれてありがとう=)
私は、オープン ソース iPhone フレームワークSparrowの主な開発者です。Sparrow は Flash AS3 ライブラリをモデルにしているため、AS3 と同様のイベント システムを備えています。現在、そのシステムはセレクターを指定することで機能しますが、イベント リスナーにブロックを使用できるようにすることで、そのシステムを拡張したいと考えています。ただし、メモリ管理の問題につまずいています。
現在処理されているイベントの典型的な使用例を紹介します。
これは非常に簡単です。オブジェクトが表示リストに追加されると、イベントを受け取ります。現在、基本クラスはイベント リスナーを NSInvocation-objects の配列に記録します。NSInvocation は、そのターゲットと引数を保持しない方法で作成されます。(ユーザーはそれを行うことができますが、99% の場合は必要ありません)。
これらのオブジェクトが保持されないのは意識的な選択でした: そうしないと、ユーザーが dealloc-method でイベント リスナーを削除したとしても、上記のコードによってメモリ リークが発生します! 理由は次のとおりです。
一見すると、これで問題ないように見えます。init メソッドの保持は、dealloc メソッドのリリースと対になっています。ただし、保持カウントがゼロにならないため、dealloc メソッドが呼び出されることはないため、これは機能しません。
私が言ったように、「addEventListener...」メソッドは、まさにこの理由で、デフォルト バージョンでは何も保持しません。イベントの仕組み (ほとんどの場合、イベントは「自己」または子オブジェクトによってディスパッチされ、とにかく保持されます) のため、それは問題ではありません。
しかし、ここで問題の中心部分に行き着きます。ブロックではそれを行うことはできません。私が望むように、イベント処理のブロックバリアントを見てください:
それは見栄えがよく、非常に使いやすいでしょう。ただし、ユーザーが「self」でメソッドを呼び出したり、ブロック内でメンバー変数を使用したりすると (ほとんどの場合)、ブロックは自動的に「self」を保持し、オブジェクトの割り当てが解除されることはありません。 .
今、私は、次のように自己への __block 参照を作成することで、任意のユーザーがこれを修正できることを知っています:
しかし、正直なところ、ほとんどすべてのユーザーがそうするのを知らないか、そうするのを忘れていると確信しています。API は使いやすいだけでなく、誤用されにくいものであるべきですが、これは明らかにその原則に違反しています。API のユーザーは間違いなく誤用します。
私を悩ませているのは、「自己」を保持する必要がないことを知っていることです。現在の実装では、保持しなくても機能します。だから私は、彼が自分自身を保持する必要がないことをブロックに伝えたい - 私、ライブラリは、ユーザーがそれについて考える必要がないように、ブロックにそれを伝える必要がある.
私の研究では、そうする方法は見つかりませんでした。そして、そのブロックの制限に合わせてアーキテクチャを変更する方法が思いつきません。
私がそれについて何ができるか考えている人はいますか?
まだ読んでいない場合でも、ここまで読んでくれてありがとう -- 冗長な質問だったことは承知しています ;-)
c# - ボリューム/容量に基づいて USB をブロック
C# を使用してボリュームに基づいて USB をブロックしたい。容量が8GBを超える場合、USBスティックをブロックしたいなど。
レジストリを使用して PC で USB をブロックする方法があることを確認します。ただし、これにより USB が検出されなくなるため、ボリューム情報を取得できません。
クライアント プログラムが一部のマシンで実行されていて、USB 容量 >=8GB を制限する必要がある場合、C# コードで USB を安全に削除し、バルーンを表示する必要があります。つまり、サイレントに削除します。
ruby - Rubyイテレータをパラメータとして渡す方法は?
ある場所で値を生成するメソッドを作成し、それをブロックで呼び出す別のメソッドにパラメーターとして渡したいと思います。私はそれができると確信していますが、どういうわけか正しい構文を見つけることができません。
私が達成しようとしていることを説明するためのサンプル(動作しない)コードを次に示します。
FWIW、私の実際のコードでは、yielder と user は異なるクラスにあります。
アップデート
回答ありがとうございます。Andrew Grimm が述べたように、イテレータ メソッドにパラメータを取得させたいと考えています。私の元の例では、この詳細を省略しました。このスニペットは、指定された数までカウントする反復子を提供します。それを機能させるために、内側のブロックを明示的にしました。それは私が望むことをしますが、少し醜いです。誰かがこれを改善できるなら、私はその方法を知りたいと思っています。
mysql - MySQL InnoDB ロックに関する質問
MySQL InnoDB について質問があります。例: 次のテーブルを作成しました。
現在、同じデータベースへの 2 つの mysql 接続があり、それらをスレッド A および B と名付けています。スレッド A には、次の SQL ステートメントがあります。
そして、スレッドAをそのままにしておきます。
スレッド B で、同じクエリを実行したいと思います。
スレッド B は、ロック待機タイムアウト後に MySQL 1205 エラーをスローします。ロック待機タイムアウトが超過しました。トランザクションを再開してみてください。
スレッドAがその行に「X」ロックを設定したため、スレッドAがロックを解放するまでスレッドBは「X」ロックを取得できないため、これは理にかなっています。
さて、私の質問は次のとおりです。スレッド B の観点から、MySQL がエラー 1205 を返したときに、どのスレッド/接続が私の要求をブロックするか (テーブル 'SeqNum' の 'UPDATE' 権限を取得するため) をどのように知ることができますか? X ロックを取得した後、threadA が何もしていない場合、スレッド B で「show processlist」を実行すると、「Sleep」ステータスの複数のスレッド (データベースに 2 つ以上のスレッドが接続されていると仮定します) しかありません。リクエストをブロックしたスレッドを特定できませんか?
うまくいけば、私は質問を明確に説明しました。ありがとう!
c++ - while ループ内の if/else 形式
ユーザーが名前を入力した後、2 番目の名前を入力するオプションを提供したいと思います。"N" の場合は Location までスキップし、"Y" の場合は Name2 に移動してから Location に移動します。
jquery - jQueryはブロック要素の幅を見つける
block要素の幅を決定する簡単な方法はありますinlineか? 要素を作成できないため、要素inlineの幅を決定してから幅を変更する方法が必要です。