DLL内から作成されるフォームには小さな問題があります。DLL内のApplication.HandleにApplication.MainForm.Handleを割り当てるDelphi XE2
基本的には、dllのフォーム(Form1)が表示されている(私はそれが一番上になければならないと思います)、別のフォーム(Form2)を開くと、 DLLの中に)。ヒントが表示されるようにForm2のコントロールにカーソルを置くと、Form2はすぐForm1の後ろに移動します。
これは、MainFormOnTaskBarがtrueの場合にのみ発生します。現時点では、メインアプリケーションのApplication.HandleをDLLに渡して、それをDLLのApplication.Handleに割り当てます。
代わりに、Application.MainForm.HandleをDLLのApplication.Handleに割り当てるために渡して、問題を解決することができました。
これは安全ですか?誰もがこの問題を解決する適切な方法を知っていますか?
ありがとうございました。私はDLLに含まれているアプリケーションオブジェクトでMainFormOnTaskBarプロパティをtrueに設定する必要があるのかどうか疑問に思っていましたか? –
DLL内のアプリケーションオブジェクトにメインフォームがないので、アプリケーションオブジェクトでMainFormOnTaskBarをtrueに設定する必要はありません。同意する必要はありません。 –
は同意する必要はありません。私はApplication.CreateFormを決して呼び出さないので、Application.MainFormが割り当てられていないと推測しているからです。 –