Здравствуйте -Dm-, Вы писали:
D>проблема с ADO + MS SQL под Windows XP ( в win95,win98,win 2000 все нормально) выдает ошибку при закрытии TADOTable если не вызван метод First().
D>( в Builder C++ 5 )
стандартная проблема — стандартное решение.
procedure TDM1.QueryClose(DataSet: TDataSet);
begin
if TADOQuery(DataSet).Active then
TADOQuery(DataSet).Recordset.Close;
end;
procedure TDM1.DataModuleCreate(Sender: TObject);
var
i:integer;
begin
for i := 0 to ComponentCount-1 do
if Components[i] is TADOQuery then TADOQuery(Components[i]).BeforeClose := DM1.QueryClose;
end;
procedure TDM1.DataModuleDestroy(Sender: TObject);
var
i:integer;
begin
for i := 0 to ComponentCount-1 do
if Components[i] is TADOQuery then
if TADOQuery(Components[i]).Active then
TADOQuery(Components[i]).Recordset.Close;
end;