私は VB6 プロジェクトを持っており、自動ログアウト機能を備えたセッション タイマーを実装しています。
私の問題は、モーダル フォームが開かれている場合、このフォームは Forms Collection にないため、このフォームをアンロードするために開いているかどうかがわからないことです。非モーダルフォームでは問題ありません。
誰かアイデアがあれば?開いているすべてのフォーム (非モーダルおよびモーダル) を表示することは可能ですか?
ご回答ありがとうございます
編集:コードスニペット:
フォーム作成 :
Dim FormLoc As New F_Options
FormLoc.Show vbModal
フォーム破壊:
For Each mFrm In Forms
unload mFrm
next
For Each mFrm In F_MDIParent.MDIActiveX1.Forms
unload mFrm
next
メイン フォームは MDI フォームです。他のフォームを開いて MDI Mainform にドッキングできますが、一部のフォームは「通常」です。
編集 :
私はいくつかのテストを行い、Forms コレクションはプロジェクトに依存しています。このコレクションはアプリケーションに対してグローバルであると考えていましたが、明らかにそうではありませんでした。
メイン プロジェクトからすべてのフォームを閉じたい。別のプロジェクトでモーダル フォームを開くことができます (すべてのアプリケーションで 90 個のプロジェクト)。