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

Вниз

Помогите! плиззз. 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
3-61462
Sokol
2002-12-01 01:43
2002.12.19
Как программно изменить пароль в MSAccess?


3-61408
Tankist
2002-12-03 13:47
2002.12.19
Mysql


1-61642
dkDimon
2002-12-06 23:04
2002.12.19
Звуковой регулятор


3-61459
Arick
2002-11-30 23:53
2002.12.19
Вставка записи


1-61704
PrettyFly
2002-12-06 16:43
2002.12.19
Непредвиденный BreakPoint :(