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

Вниз

Закрытие OLe объекта   Найти похожие ветки 

 
Майя   (2004-12-01 10:47) [0]

Работаю с екселем, потом закрываю его, но процесс остается висеть. Как его еще можно закрыть? Делаю вот как:
RangeMatrix := Unassigned;
  XLApp.Workbooks.Close;  
    XLApp.Quit;
    XLAPP := Unassigned;
    XLAPP := Null;

Уже все испробовала - не помогает :((


 
YurikGL ©   (2004-12-01 11:38) [1]

Кроме  XLAPP больше никаких объектов не создавала? Типа  XLWorkSheet?

Если создавала, то их тоже надо очищать.


 
olookin ©   (2004-12-01 12:24) [2]

А я делаю так:

 if not VarIsEmpty(Excel) then begin
 Excel.Quit;
 VarClear(Excel);
 end;

И ничего не висит в списке процессов. Насчет [1] про создание листов и тому подобного. Если имеется в виду создание в рамках объекта ExcelApplication, то это можно делать как угодно долго и ничего очищать дополнительно не приходится.


 
Майя   (2004-12-01 13:18) [3]

Создавала
XLApp := CreateOleObject("Excel.Application");
try
  // Hide Excel
  XLApp.Visible := False;

  // Open the Workbook
  XLApp.Workbooks.Open(AXLSFile);

   // Sheet := XLApp.Workbooks[1].WorkSheets[1];
  Sheet := XLApp.Workbooks[ExtractFileName(AXLSFile)].WorkSheets[list];  //номер листа, с которого читаем данные

  Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;
  // Get the value of the last row
  x := XLApp.ActiveCell.Row;
  // Get the value of the last column  
  y := XLApp.ActiveCell.Column;

  // Set Stringgrid"s row &col dimensions.

  AGrid.RowCount := x;
  AGrid.ColCount := y;  

  // Assign the Variant associated with the WorkSheet to the Delphi Variant  

  RangeMatrix := XLApp.Range["A1", XLApp.Cells.Item[X, Y]].Value;  
  //  Define the loop for filling in the TStringGrid

Но я уже написала
Sheet:=Unassigned;
и все равно процесс остается


 
Майя   (2004-12-01 13:29) [4]

Да, действительно, после VarClear(Excel);  процесс исчезает
Но после этого я пытаюсь вновь создать объект и обратиться к другому листу того же самого документа.
Если обращаюсь к тому же что и раньше - все ок
А если к другому - выдается ошибка
Метод Activate объекта Range отработал некорректно
На вот этой строке:
Sheet.Cells.SpecialCells(xlCellTypeLastCell, EmptyParam).Activate;



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1101414806
Mazer
2004-11-25 23:33
2004.12.12
Изменения свойства Enabled у разных компонентов одним махом?


1-1101825652
denis24
2004-11-30 17:40
2004.12.12
месяц словом


3-1100182284
Katrin
2004-11-11 17:11
2004.12.12
Как узнать ID созданной с помощью SQL записи?


14-1101281444
Vlad Oshin
2004-11-24 10:30
2004.12.12
Просветите, экономисты, если времени не жалко


3-1100590318
denis24
2004-11-16 10:31
2004.12.12
Удаление картинки в поле blob