独自のコンストラクターをコーディングした Form があります。
constructor Create(AOwner: TComponent; AParent: TWinControl; ASender: TMyClass;
ATab: String); reintroduce; overload;
このようなフォームを作成するには、次を使用します。
try
MyForm := TMyClassForm.Create(nil, Self.Parent, Self as TMyClass, 'FirstTab');
MyForm.ShowModal;
finally
MyForm.Free;
end;
別の場所で、手順を開始する前に、このフォームが開かれているかどうかを確認する必要があるため、次の方法でその存在を確認します。
if (Assigned(MyForm)) and (MyForm.Active) and (MyForm.Showing) then
// Don't do the procedure
else
// Do the procedure
ここで、フォームを開いて閉じ、この条件ステートメントを確認すると、true になるたびにフォームが開かれず、表示されなくなります。これは、作成後にフォームを解放したためです。
何が問題になる可能性がありますか?