2012-03-07 17 views
0

dllライブラリの一部であるフォームでonDeactivateイベントを呼び出そうとしています。フォームが別のアプリケーションにフォーカスを失ったときにOnDeactivateが機能しないことは既知の問題です。残念ながら、Delphiはdllライブラリのフォームを他のアプリケーションとして扱います。dllファイルのフォームでDelphi OnDeactivateが動作しない

私はこれのためにいくつかのworkarroundが必要です。

+3

DLL内に存在するVCLのインスタンスに、別のアプリケーションの一部であることを通知する必要があります。これを行うには 'Application.Handle'を' MainForm.Handle'に設定します。ここで 'MainForm'はあなたのアプリケーションのメインフォームです。主フォームのハンドルをDLLに伝達するためのアプリケーション用のメカニズムを構築する必要があります。これは、パッケージがこのような種類のDLLのDLLよりも優先されるもう一つの理由です。 –

答えて

0

解決していません。メインアプリケーションは別のプログラムのように扱われるため、OnDeactivateは機能しません。

関連する問題