Alex Bдата публикации 11-02-2005 11:54
Версии Delphi — до 7, включая все Updates.
Анализ причин возникновения проблемы.
destructor TADOCommand.Destroy; begin // проблема: Destroy до удаления своих полей inherited Destroy; Connection := nil; FCommandObject := nil; FreeAndNil(FParameters); end; ----------- destructor TADOQuery.Destroy; begin // проблема: Destroy до удаления своих полей inherited Destroy; FreeAndNil(FSQL); end; ----------- constructor TCustomADODataSet.Create(AOwner: TComponent); begin inherited Create(AOwner); FCommand:=TADOCommand.Create(Self); // использует TADOCommand ... ----------- TADOQuery = class(TCustomADODataSet) // ошибка по ошибке ... -----------
destructor TADOCommand.Destroy; begin Connection := nil; FCommandObject := nil; FreeAndNil(FParameters); inherited Destroy; end; ----------- destructor TADOQuery.Destroy; begin FreeAndNil(FSQL); inherited Destroy; end;
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.Функция может не работать в некоторых версиях броузеров.