メインフォーム以外のアプリケーション内のすべてのフォームを閉じる機能があります
procedure CloseOpenForms(const Component: TComponent);
var
i: Integer;
begin
for i := 0 to pred(Component.ComponentCount) do
begin
CloseOpenForms(Component.Components[i]);
if Component.Components[i] is TForm then
begin
TForm(Component.Components[i]).OnCloseQuery := nil;
TForm(Component.Components[i]).Close;
end;
end;
end;
メインフォームから呼び出されます:
CloseOpenForms(Self);
アクティブな OLE ダイアログ (TJvObjectPickerDialog など) がない限り、問題なく動作します。
これらの非モーダル OLE ダイアログを強制的に閉じるにはどうすればよいですか?