| 
| 
 | Вопрос # 620/ вопрос открыт / | 
 |  Здравствуйте, Уважаемые Эксперты! 
 После того, как я из Delphi6 сохраняю и заполняю отчёт в Excel(2002), даже после его закрытия из программы(см.приложение), Excel остётся в резидентной памяти! Чем больше я сохраняю отчётов, тем больше строчек EXCEL появляется диспетчере задач Windows! Как сделать, чтобы этого не было? Спасибо!
 Приложение:Переключить в обычный режим Var  n,n2 : OleVariant;..... n:=CreateOleObject('Excel.Application'); n2:=GetCurrentDir+'regionRYear_atm.xls';n.Workbooks.Add(n2);....   ...  n.close; 
|  |   Вопрос задал: RedMask (статус: Посетитель)Вопрос отправлен: 9 июня 2007, 07:35
 Состояние вопроса: открыт, ответов: 3.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, RedMask!Попробуйте вместо n.close; добавить такие две строки
 n.Quit;
 n := Unassigned;
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 10 июня 2007, 17:41
 Оценка за ответ: 4
 Комментарий к оценке: Проблемы была вовсе не в n,а в n2! Если я закрываю n.quit, то закрывается тот же документ! Но мысль верная! Спасибо! |  Ответ #2. Отвечает эксперт: Помфюк Владимир Степанович Здравствуйте, RedMask!n2:=Unassigned;
 или
 n2:=nil;
 тоже не помешает. Вобщем надо "отвязать" от Excel'а все переменные программы иначе они будут задерживать его завершение.
 
|  | Ответ отправил: Помфюк Владимир Степанович (статус: Абитуриент)Время отправки: 11 июня 2007, 09:44
 Оценка за ответ: 5
 Комментарий к оценке: "n2:=Unassigned;"
 Помогло!! Спасибо!
 
 "n2:=nil;" - а так нельзя!
 
 
 |  Ответ #3. Отвечает эксперт: Шарайчук Сергей Олександрович Здравствуйте, RedMask!Попробуй скачать иходник прогы которая убиваэт процесы https://www.delphi-int.ru/download/file/162/ измени код так чтоби она сама сканировала память после определьонного событея и убивала твой EXCEL. У меня была точно такая проблема, мне помогло, сечас не дома поетому код дать немогу, попробуй сам переделать.
 
|  | Ответ отправил: Шарайчук Сергей Олександрович (статус: 2-ой класс)Время отправки: 11 июня 2007, 11:49
 Оценка за ответ: 4
 Комментарий к оценке: Я решил эту проблему несколько проще!Но большое спасибо за помощь! Здорово бы, чтобы подумали над моей другой проблемой в следущем вопросе, там вполне подойдут подобные методы! =)))
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 13 июня 2007, 10:27; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 11 июня 2007, 11:56 [#1]:to Шарайчук Сергій Олександрович Зачем убивать то, что должно умереть само, если его попросить. К тому же, учитывая майкрософтовскую тенденцию помочь пользователю (восстановление после сбоя и подобное) неизвестно к чему ещё приведёт ваш метод
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Шарайчук Сергей Олександрович (статус: 2-ой класс), 11 июня 2007, 12:12 [#2]:Неспорю иможно и испортить програму, но если ништо другое не помогает, можно и рискнуть! Я бы изменил мир, но Бог не дает исходники! |  
|   | Вадим К (статус: Академик), 11 июня 2007, 12:37 [#3]:to Шарайчук Сергій Олександрович: А где сказано,что ничего не помогает? Давайте дождёмся ответа автора.
 С другой стороны, лучше уж висит ексель, чем твориться ниизвестно что.
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Шарайчук Сергей Олександрович (статус: 2-ой класс), 11 июня 2007, 13:24 [#4]:to Вадим К: Я неговорю что ничево не помогаєт, я говорю "если". Я например делал прогу которая сама роботаєт с информациєй с екселя, тойсть просто ститовал её закривал, проблема била таже, просто исправил код так как мне нужно, и все работало, ничево неглючило.
 Я бы изменил мир, но Бог не дает исходники! |  
|   | Вадим К (статус: Академик), 11 июня 2007, 13:41 [#5]:А) пишем грамотно. Б) "просто ститовал её закривал"???
 В) "просто исправил код так как мне нужно" Какой код, в Экселе?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | RedMask (статус: Посетитель), 13 июня 2007, 07:37 [#6]:Спасибо за советы всем! Проблемы была именно в n2! А n2.close или n2.quit выдавала ошибку. Помогло n2:=Unassigned; |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |