Вопрос по TIdTCPServer

Глупый
Дата: 04.10.2004 08:59:49
Насколья я понял для каждого соединения на TIdTCPServer создает отдельный поток TIdPeerThread

Так вот суть проблемы - при обработке события OnExecute
procedure TMainServer.IdTCPServer1Execute(AThread: TIdPeerThread);
var
  sCommand,User,Password: string;
  MS:TMemoryStream;
  Connection1:TADOConnection;
begin

  with AThread.Connection do begin
    sCommand := ReadLn;
    if SameText(sCommand, 'QUIT') then Disconnect; // клиент прислал команду 
                                                         //на отсоединение
    if SameText(Copy(sCommand,1,5), 'LINE#') then //клиент хочет получить данные
       begin
         Delete(sCommand, 1, Pos('#', sCommand)); //Здесь получаем пароль и имя 
                                                 //пользователя
         User:=Copy(sCommand, 0, Pos('#', sCommand) -1);
         Delete(sCommand, 1, Pos('#', sCommand));
         Password:=Copy(sCommand, 0, Pos('#', sCommand) -1);

         Connection1:=TADOConnection.Create(nil);// Вот здесь возникает ошибка
//класса EOleSysError - "Не был произведен вызов CoInitialize"
//Чем ее лечить?
         Connection1.ConnectionString:='Provider=SQLOLEDB.1;Integrated'+
                 'Security=SSPI;Persist Security Info=False;Initial'+
                 'Catalog=overtime';

         if Connection1<>nil then
           begin
             Connection1.Open(User,Password);
             Connection1.Close;
             Connection1.Free;
           end;
         spGetUserKassByServer.Parameters.ParamByName('@UserName').Value:= User;
         AThread.Synchronize(spGetUserKassByServer.Open);
         if spGetUserKassByServer.RecordCount>0 then
                AddLog(DateTimeToStr(Now),LocalName,
                spGetUserKassByServer.FieldByName('FIO').AsString+' '+
                spGetUserKassByServer.FieldByName('Name').AsString+' ');
         AThread.Synchronize(spGetUserKassByServer.Close);
         MS:=TMemoryStream.Create;
         MS.LoadFromFile('Unit2.pas');
         WriteLn(IntToStr(Ms.Size));
         WriteStream(MS);
         MS.Free;
       end;
  end;
end;

Подскажите как добраться до TIdPeerThread и внести в него
Connection1:TADOConnection;
Тогда я смогу создавать его в момент создания самого
потока, а не в процессе его отработки.
Ну или в крайнем случае чем лечить эту исключительную ситуацию?
Глупый
Дата: 04.10.2004 09:38:09
Народ, не уж то никто с подобным не сталкивался? :(