Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-61814
Burmistroff
2002-11-28 00:43
2002.12.19
ОСи


6-61733
pavor
2002-10-21 07:39
2002.12.19
Проблемы с написанием Web сервера...


14-61775
Anatoly Podgoretsky
2002-11-25 23:59
2002.12.19
Именинники 26 ноября


1-61608
Armageddon
2002-12-09 22:49
2002.12.19
Задача


1-61520
Бук
2002-12-09 12:07
2002.12.19
курсор и слово.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский