{------------------------------------------------------------------------------} constructor TFreeDDBAccessModule.Create(Sender: TComponent;cfg_filename:String); begin inherited Create(Sender); fcreatedQueries := false; fCollisionCounterList:= THashedStringList.Create; fDirectInsertList:= THashedStringList.Create; overwriteMethod:= overwriteOldValue; increaseMethod:= OldPlusNewValue; DataBaseAccess := DataBaseAccessFactory.GenerateDataBase(self,cfg_filename); fTimer := TTimer.Create(self); fTimer.OnTimer := TransMonEvent; fTimer.Enabled := false; resetTransActCounter; fSelectQueryList := TQueryCache.Create(self,NumFreeDBTableNames); fInsertQueryList := TQueryCache.Create(self,NumFreeDBTableNames); fUpdateQueryList := TQueryCache.Create(self,NumFreeDBTableNames); end; {------------------------------------------------------------------------------} destructor TFreeDDBAccessModule.Destroy; begin fTimer.Free; fDirectInsertList.Free; fCollisionCounterList.Free; fSelectQueryList.Destroy; fInsertQueryList.Destroy; fUpdateQueryList.Destroy; DataBaseAccess.Destroy; >> Exepetion!!! EPriviledge can't reach "DataBaseAccess" destro code any more inherited Destroy; end;