Форум: "Прочее";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];
ВнизDelphi & Excel 2007 Найти похожие ветки
← →
Дмитрий Тимохов (2011-04-20 16:45) [0]Добрый день.
Тема мышами изгрызена, но у меня есть неперевариваемая проблема, поэтому, решил спросить...
Ситуация:
1. Работаю с Excel 2007 через позднее связывание из Delphi 7.
2. Делаю как положено, типа того:
XLApp:=CreateOleObject("Excel.Application");
...
XLApp:=UnAssigned;
Проблема:
1. На одном компьютере пользователя после данной операции в памяти не остается Excel.
2. На точно таком же (как говорят - версии всего и вся сравнивали - говорят, идентично все) остается.
Вопросы:
1. Сталкивался ли кто-то с такой проблемой?
2. Что делать...
← →
oldman © (2011-04-20 16:54) [1]
> в памяти не остается Excel.
а должен?
← →
Дмитрий Тимохов (2011-04-20 16:55) [2]как раз не должен.
виноват, не написал, что считаю верным.
после XLApp := Unassigned процесс Excel должен изгоняться из памяти.
← →
Дмитрий Тимохов (2011-04-20 16:57) [3]чорт, что-то я не то говорю, конечно Quit вызываю перез XLApp := Unassinged!!!
← →
Ega23 © (2011-04-20 17:08) [4]
> после XLApp := Unassigned процесс Excel должен изгоняться
> из памяти.
Там нюансы есть.
Точно навскидку не вспомню, но что-то вроде (это гипотеза, давно дело было) если в самом экселе диалог сохранения вызвали. Или автосохранение сработало.
В общем, попробуй в эту сторону посмотреть.
← →
Дмитрий Тимохов (2011-04-20 17:15) [5]Создаю так
fApp := CreateOleObject("Excel.Application");
fApp.Visible := False;
fApp.Interactive := False;
fApp.DisplayAlerts := False;
fApp.ScreenUpdating := False;
fApp.SheetsInNewWorkbook := 1;
← →
Ega23 © (2011-04-20 17:24) [6]
> Создаю так
Дима, я вообще не помню, давно дело было. Но вот какие-то нюансы выплывали.
Может у них параллельно Excel был запущен, а потом закрыт?
Проще всего - напиши тестик -
fApp := CreateOleObject("Excel.Application");
fApp.Visible := False;
fApp.Interactive := False;
fApp.DisplayAlerts := False;
fApp.ScreenUpdating := False;
fApp.SheetsInNewWorkbook := 1;
fApp.Quit;
fApp := Unassigned;
и запусти на обеих машинах. при этом чтобы гарантированно до теста никаких EXCEL.EXE в процессах не болталось.
← →
Дмитрий Тимохов (2011-04-20 17:28) [7]Ок, завтра посмотрю.
Произвожу просто предварительную разведку - может эта проблема всем известна уже..
← →
Игорь Шевченко © (2011-04-20 17:34) [8]XLApp:=CreateOleObject("Excel.Application");
...
XLApp.Quit;
XLApp:=nil;
работает без проблем в течение многих лет с разными версиями Excel на разных компьютерах разных пользователей.
← →
Дмитрий Тимохов (2011-04-20 17:37) [9]Игорь, у меня по сути то же самое...
Я просто в начале сказал не верно.
Только XLApp := Unassinged, а не nil. Вроде это значения иметь не должно?
Так тоже завтра попробую.
← →
Игорь Шевченко © (2011-04-20 17:40) [10]Дмитрий Тимохов (20.04.11 17:37) [9]
Я конечно ошибся, не nil, а null
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c