ADOConnection を含む MainModule というデータ モジュールと、 MainModule のサブクラスである ADOQuery 、 ADOStoredProcedure などを含む DatabaseModule という別のデータ モジュールがあります。
TDatabaseModule= class(TMainModule)
- このモジュールは自動作成です。
私のアプリケーションでは、すべてのクラスが DatabaseModule からサブクラス化されており、2 つのクラスが次のようになっていると考えてください。
TMyClass1= class(TDatabaseModule)
TMyClass2= class(TDatabaseModule)
私のアプリケーションでは、 TMyClass1 と TMyClass2 からインスタンスを作成し、両方のクラスが最終的に MainModule の ADOConnection に接続します。クラスの 1 つを解放すると、 MainModule の接続がドロップされ、ADOQuery などが接続されているため、他のクラスはデータベースにアクセスできません。 MainModule の ADOConnection とその接続が生きていません。どうすれば接続を維持できますか?
注:接続を DatabaseModule に配置できることを知っています。クラスが作成されるたびに、そのクラスの接続の特定のインスタンスが作成されますが、データベースのオーバーロードがあるため、SQL Server Profiler で確認します。
ありがとう 。