Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.46 MB
Время: 0.004 c
2-1304541565
vasja666
2011-05-05 00:39
2011.08.14
Сумма в бд (sql запрос)


1-1261986040
istok20
2009-12-28 10:40
2011.08.14
CopyFile в Win7 64bit...


15-1303237191
delphi_developer
2011-04-19 22:19
2011.08.14
team lead и senior software engineer - одно и тоже?


1-1261613044
Fosgen
2009-12-24 03:04
2011.08.14
array [] of procedure() of object


15-1303461362
tesseract
2011-04-22 12:36
2011.08.14
Расчет стоимости владения оборудованием.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский