Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
ВнизПомогите! плиззз. Execel не закрывается!!! Найти похожие ветки
← →
tga (2002-11-28 06:51) [0]Проблема такая:
Запускаю Excel (с помощбю стандартных компонент Delphi 5)
Работаю
Отсоединяюсь - Excel остаётся запущеным.
Как мне его закрыть?
вот код:
ExcelPage_Edit.Items.Clear;
try
//Запускаем Excel
Excel := TExcelApplication.Create(Application);
Excel.ConnectKind := ckNewInstance;
Excel.AutoQuit := true;
Excel.connect;
// Открываем файл
Workbook := Excel.Workbooks.Open(self.Price.FullName, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, true, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, false, xlLCID);
// Читаем название всех страниц и пишем
// в итемы для TComboBox (ExcelPage_Edit)
Worksheets := Workbook.Worksheets;
for i:=1 to Worksheets.Count do begin
WorkSheet := (Worksheets.Item[i] as ExcelWorkSheet);
ExcelPage_Edit.Items.Add(WorkSheet.Get_Name);
end;
// Закрываем файл
Workbook.Close(false, EmptyParam, EmptyParam, xlLCID);
Workbook := nil;
// Теперь закрываем Excel
// Excel.FreeNotification(Application);
// Excel.Disconnect;
Excel.Quit;
// Excel.RemoveFreeNotification(Application);
Не работает!!!! - Не закрывается Excel
не Quit, не любой из закоментированных вариантов, не их комбинции....
Объясните в чём тут дело, и как переделать чтоб Excel закрылся.
Заранее благодарен.
← →
Наталия (2002-11-28 06:53) [1]Excel.UnAssigned
← →
tga (2002-11-28 07:02) [2]Наталия © Спасибо за подсказку - но она НЕ РАБОТАЕТ. Вообще выдаётся ошибка при компиляции - неопределённый идентификатор "UnAssigned" :((((
← →
Наталия (2002-11-28 07:25) [3]E:=CreateOleObject("Excel.Application");
...
E:=UnAssigned;
← →
Fantasist (2002-11-29 00:18) [4]Ну добавь Excel.Free.Деструктор TOleControl много чего освобождает.
← →
Fantasist (2002-11-29 06:37) [5]
> Деструктор TOleControl много чего освобождает
В смысле TOleServer.
← →
AlexGreG (2002-12-02 08:14) [6]Всем привет,
ответ прост:
x.Workbooks.Close(xlLCID);
x.Disconnect;
x.Quit;
хотя я даже не знаю, что за параметр такой
LCID, но у меня работает :~)
Если кто знает, что этот параметр значит, напишите пожалуйста.
← →
AlexGreG (2002-12-02 08:16) [7]... добавочка
сам Excel, непонятно почему, выгружается из памяти при закрытии программы.
(я использую компоненту ExcelApplication с закладки Servers)
← →
AlexGreG (2002-12-02 08:40) [8]... разобрался
Excel выгружается, когда компонент TExcelApplication освобождает память, т.е. при TExcelApplication.Free;
← →
OlDemon (2002-12-02 10:21) [9]А я использую позднее связывание и просто делаю FExcel:= nil
что освобождает память и убивает процесс. Может и вам поможет :)
← →
Илайдж (2002-12-02 10:42) [10]Как вариант - по крайней мере у меня эта проблема решена именно так.
E: variant;
E := CreateOleObject("Excel.Application");
...
E.Quit;
E := 0; // вот это ОНО
← →
Fantasist (2002-12-02 20:56) [11]
> Илайдж (02.12.02 10:42)
> Как вариант - по крайней мере у меня эта проблема решена
> именно так.
Это уже было выше:
> Наталия © (28.11.02 07:25)
> E:=CreateOleObject("Excel.Application");
> ...
> E:=UnAssigned;
Но мы не любим позднее связывание. :)
> Excel выгружается, когда компонент TExcelApplication освобождает
> память, т.е. при TExcelApplication.Free;
И енто уже было:
> Fantasist © (29.11.02 00:18)
> Ну добавь Excel.Free.
← →
kse (2002-12-09 16:23) [12]Мой ответ немного ( :))) ) запоздал, но тем не менее, мож кто читать будет.
У меня так
ea: TExcelApplication;
eb: TExcelWorkbook;
...
eb.Close;
eb.Disconnect;
ea.Quit;
ea.Disconnect;
Excel закрывается без вопросов и в процессах его нет. (Иль мож я чего не понимаю)
Delphi 6, Win2K, Excel2000.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.19;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c