Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Корректное закрытие Excel   Найти похожие ветки 

 
Glivera ©   (2006-06-21 00:00) [0]

Подскажите как нужно корректно закрывать Excel. Пишу такой код:

   XLApp := CreateOleObject("Excel.Application");
   XLApp.Visible:= True;
   XLApp.sheetsInNewWorkbook:=1;
   XLApp.Workbooks.add;
   Sheet := XLApp.Workbooks[1].WorkSheets[1];
   Sheet.activate;
   Sheet.cells.item[1,1]:="Проверка";

   XLApp.WorkBooks[1].SaveAS("d:\My.xls");
   XLApp.Quit;
   XLAPP := Unassigned;
   Sheet := Unassigned;

Суть проблемы в том, что этот файл потом можно открыть только после перезагрузки компа. Подскажите что сюда нужно добавить\убрать. Заранее спасибо.


 
Ломброзо ©   (2006-06-21 01:21) [1]

запоминать указатели на все интерфейсы и аккуратно их релизить

try
  pXLApp := CreateOleObject("Excel.Application");
  pWorkbooks = pXLApp.Workbooks;
  pWorkbook = pWorkbooks.Add();
finally
  if (pWorkbook <> nil) then
  begin
    // Release
  end;
  if (pWorkbooks <> nil) then
  begin
    // Release
  end;
  if (pXLApp <> nil) then
  begin
    pXLApp.Quit;
    // Release
  end;
end

некоторые горячие головы умеют вычислять идентификатор процесса COM-сервера и на всякий случай прибивать процесс Excel, и в этом тоже есть смысл



Страницы: 1 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.049 c
15-1154423861
VitV
2006-08-01 13:17
2006.08.27
Как обеспечить полную безопастность ICQ-общения?


3-1150727208
Juice
2006-06-19 18:26
2006.08.27
Как в триггере или ХП интербейса узнать текущую дату и время?


1-1153235434
ArtemESC
2006-07-18 19:10
2006.08.27
OwnerDraw в ListBox e


2-1154718169
Mr tray
2006-08-04 23:02
2006.08.27
рисование на канвасе объекта класса timage


2-1154608617
Юра
2006-08-03 16:36
2006.08.27
TServerSocket, stNonBlocking несколько клиентов