"Мадорский Г.В." ...
> Чего-то фигня какая-то случилась. Не придумать даже куда еще копать.
> Ситуация такая:
> В программе есть на форме TClientDataSet. Форма AutoCreate. Есть  такое вот
> событие:
>
> procedure TfrEdHelper.FormCreate(Sender: TObject);
> begin
>   Words.FileName := ExtractFilePath(Application.ExeName) + 'Words.cds';
>   Words.LoadFromFile();
> end;
> Программа запускается с сетевого диска.
> Все это работало с момента создания программы, то бишь лет 7. На прошлой
> неделе с сервером, на котором лежит программа начались аппаратные проблемы.
> Начал самопроизвольно перезагружаться по нескольку раз на дню. Ну я приехал,
> потестировал, прогнал chekdisk. Никаких ошибок не нашел. Но перезагрузки не
> пропали. Решили поменять сервер. Старый пока включили обратно. И после этого
> на трех рабочих станциях из 7 при запуске программы стала вылетать ошибка
> "cannot create file P:\Auto\Words.Cds"... На других рабочих станциях все

    Судя по сообщению, у тебя возможно как-то вызывается SaveToFile.
Из области фантастики могу предположить, что

procedure TClientDataSet.LoadFromFile(const FileName: string = '');
var
  Stream: TStream;
begin
  Close;
  if FileName = '' then
    Stream := TFileStream.Create(Self.FileName, fmOpenRead) else
    Stream := TFileStream.Create(FileName, fmOpenRead);
  try
    FOpeningFile := True;
    try
(1)      LoadFromStream(Stream);
    finally
      FOpeningFile := False;
    end;
  finally
(2)    Stream.Free;
  end;
end;

в (1) вызывается исключение, которое не ловится в (2). При этом форма не
создаётся, и вызывается нечто, которое и сохраняет CDS во всё ещё открытый
файл. Т.е. - это всё домыслы, но ты обрати внимание на те места у себя,
где ты сохраняешь CDS в файл

...

> Вообщем никаких результатов и фантазия чего-то закончилась. Ехать туда,
> устанавливать Delphi и гонять под отладчиком ой как влом... Может есть
> какие-нибудь предположения?

    Если есть ноутбук, с установленной Дельфи - пользуй удалённую отладку.
Мне как-то помогло в подобной ситуации.

-- 
Хорсун Влад



--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить