アプリの初期化が完了し、メイン フォームが作成された後に実行したい機能があります。フォームの OnShow イベントにコード (ProcedureX と呼びます) がありましたが、OnShow が 2 回起動しているため、コードが 2 回呼び出されていることに気付きました。メインプログラムの DPR が以下を呼び出すと起動します。
Application.CreateForm(TMainForm, MainForm) ;
私が期待するように。しかしその後、画面上のフォームの位置を含む INI ファイルから内容を読み取ると、次の呼び出しが発生します。
MainForm.position := poScreenCenter ;
これにより、OnShow イベントが再び発生するように見えます。
ProcedureX への呼び出しをどこに置くことができますか? これは 1 回だけ呼び出す必要があり、実行する前にメイン フォームを作成する必要があります。