問題タブ [change-notification]

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

c++ - SQLデータベースの変更に対するqtシグナルはありますか?

Qt を使用して C++ プログラムを作成しました。アルゴリズム内のいくつかの変数が、プログラムの外部と Web ページで変更されています。ユーザーが Web ページの変数値を変更するたびに、作成済みの SQL データベースを変更します。ここで、コードを停止することなく、実行時にコードで変数の値を変更する必要があります。2 つのオプションがあります。

  1. n 秒ごとにデータベースをチェックし、変数を取得しますvalue-> n 秒ごとにデータベースの内容が変更されているかどうかを確認する必要があるため、これは良くありません (何年も変更されていない可能性があります。また、データベースが内容が変わります)

  2. データベースが変更されるたびに、私の Qt プログラムはシグナルを発するので、このシグナルをキャッチすることで変数の値を更新できます。これは最適な解決策のようで、この部分のコードを書きたいと思います。

私のコードのC++部分は次のとおりです。

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

c++ - FindFirstChangeNotification は親フォルダーをロックします

FindFirstChangeNotification()/ReadDirectoryChangesW() を使用してフォルダーの変更を監視しています。期待どおりに動作しています。私の質問は次のとおりです。Watched フォルダーの親の名前を変更しようとすると、アクセスが拒否され、エラー 5 が表示されます。FCN ハンドルが通知監視用にフォルダーを開いており、親の変更が許可されていないと推測しています。

c:\folder\subfolder\anotherfolder\ などのサブディレクトリを監視し、コマンド プロンプト (または他のプログラム) を開いて "rename c:\folder\ c:\folder2" を実行する方法はありますか?

ここに私のコードスニペットがあります

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

perl - ファイルが書き込み可能/取り外し可能かどうかを Perl と Windows で調べる

Hot-FolderのWatch-DogをWindows で Perl に組み込みたいと思います (これをFolder-Watchと呼ぶか、または、おそらくはるかに適切なHot-Dogと呼ぶかもしれません)。これまでのところ、 (以下のサンプルを参照)で正確にそれを行うことに成功しました。Win32::ChangeNotify

しかし、ソースコードを読んで推測できるように、ファイルのコピー/作成プロセスが完了し$watchdirていないときに移動プロセスを終了したいときに問題が発生しました (そのようなファイルまたはディレクトリはありません)。

ファイルの準備ができているかどうか、つまり、最終的に作成/コピーされたかどうかを自動的に確認する方法はありますか?

みたいなことを考えていた

しかし、それは Windows では動作しないようです。PerlだけでなくWindowsでもこれを解決する必要があります。それ以外は、提案を受け付けています。

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

winapi - ファイル システムに存在しないフォルダーの更新

私のシェル拡張機能には、ファイル システムに実際には存在しないが、ユーザーにはそのようにしか見えないフォルダーがあります。

これらのフォルダーの内容が変更されたら、それらを更新したいのですが、現在、通常のフォルダーと同じ方法でそれを行っています。

一方PIDL、 は で必要なシェル フォルダ ID のリストですSHCNF_IDLIST

問題は、エクスプローラーが存在しないフォルダーを処理しないことです。それらを更新する代わりに、ルートフォルダーに戻ります。

PIDL前述のように、このメカニズムは既存のフォルダーに対して機能するため、正しく構築していることはわかっています。

ハンドラを にオーバーライドするにはどうすればよいSHChangeNotifyですか? または、更新を呼び出すためのより良い方法はありますか?

編集:

my のPIDL生成方法:

私のCreatePIDL実装:

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

oracle - Oracle変更通知の登録解除

このトピックは Java のトピックに関連していますが、C# の解決策が見つかりません。 http://theblasfrompas.blogspot.com/2010/01/closing-obsolete-database-change.html

変更通知で Oracle.ManagedDataAccess.dll を使用しています。

すべて正常に動作しますが、1 つ問題があります。私のアプリケーションが起動すると、データベース通知を作成し(タイムアウト0である必要があります)、OracleDependencyへのハンドルを持っています。アプリケーションが停止したら、このハンドルを使用して、次の方法で登録の削除を呼び出すことができます。

アプリケーションが何らかの方法でクラッシュし、RemoveRegistration メソッドを呼び出すことができない場合に問題が発生します。OracleDependency へのハンドルを失うため、アプリケーションを再起動した後、古い登録を削除できません。いつものように、開始アプリケーションは新しい登録を作成しますが、現在は 2 つ存在します - 1 つは新規で、もう 1 つは古いものです。このようにして、私のアプリケーションは 2 回通知を受け取ります。問題は、アプリケーションによって作成された古い通知を削除する方法です。

わかりました私のさらなる調査は以下の通りです:私は静的メソッドOracleDependency.GetOracleDependency(string guid)が存在するOracleドキュメントで見つけたので、Oracle依存関係を作成した後、彼のIDを保存します(そのGUIDのようです)。アプリが停止したら、このメソッドを使用して依存関係を取得できます。残念ながら、アプリケーションの再起動後は機能しませんでした:/ この ID で OracleDependency を取得しようとすると、null が返されますが、USER_CHANGE_NOTIFICATION_REGS にまだ存在します

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

oracle - Oracle 変更通知 - 登録用のクエリを準備する方法は?

条件を満たすクエリを登録できません。2 台のコンピューターから 2 つのアプリケーションを実行しています。次のクエリは、各アプリケーションによって登録されます。

各アプリケーションは、登録されたクエリで独自の @APP_NUMBER を設定します。問題は、SOME_COLUMN/1000 を 1 に設定して新しい行を追加すると、最初のアプリケーションのみに通知する必要があることです。しかし、どちらもそうです。助けてくれてありがとう

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

c# - マネージド ODP.net: 変更通知と LDAP

LDAP 解決を使用して Oracle データベースに接続しています。

これは、通常のクエリで正常に機能するようになりました。接続を開いて、それに対してコマンドを実行できます。

残念ながら、が呼び出されたSystem.DirectoryServices.Protocols.DirectoryOperationException: The object does not existときに例外が発生する変更通知クエリでは機能しません。ExecuteNonQuery

C:\Program Files\Oracle\sqlnet.ora

C:\Program Files\Oracle\ldap.ora

web.config

届出登録

次の例外がスローされます。

トレース (ips は xs に置き換えられました)