特定のファイル形式をロードするためにエターナル ライブラリ (DLL) を使用していますが、ロード機能が実際にはロードされないことがわかりました。同じオブジェクトに対して初めて呼び出されたときにロードされますが、新しいファイルを開くために再度呼び出すと、常にロードされるとは限りません。これにより、新しいファイルをロードするたびに CreateObject を呼び出す必要がありました。これに関する問題は、VB6 が古いオブジェクトをまったく解放していないように見え、RAM と VM の使用量がすぐに GB に膨れ上がることです。
これを強制的に解放する方法はありますか?変数を「Nothing」または「Null」に設定しても何も起こらず、アプリが肥大化して実際にメモリ不足になり、クラッシュします。(IDE が非常に古いため、Win7 では動作しないため、VM 内で実行する必要があります。動作させることができませんでした)
循環参照を探しましたが、ファイルはそのオブジェクトを使用して読み込まれ、ファイルのプロパティは ADO オブジェクトに読み込まれ、実際のファイル自体は ADO オブジェクトに参照されることはなく、さまざまなフィールドだけです。それから。