AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.11.2013, 12:32   #21  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Цитата:
Сообщение от zuzka Посмотреть сообщение
Код:
XlApp	Automation	'Microsoft Excel 14.0 Object Library'.Application	
...
...
XlApp.Visible(TRUE);
XlApp.UserControl(TRUE);
CLEAR(XlApp);
и все отлично отрабатывает.
Что именно отрабатывает?) У меня после добавления очистки переменной Application вобще события перестали перехватываться... а больше ничего не изменилось.
Старый 21.11.2013, 13:11   #22  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
у меня по крестику закрывается приложение и процесс пропадает, на передний план Excel не выходит правда.
Какие перехваты событий раз приложение закрывается?
Старый 22.11.2013, 07:27   #23  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Цитата:
Сообщение от InTacto Посмотреть сообщение
у меня по крестику закрывается приложение и процесс пропадает, на передний план Excel не выходит правда.
Вы при этом перехват события закрытия делали? Так все работает, если перехват события не делать... если сделать, то приложение уже не закрывается по крестику, только книга... по крайней мере у меня((
Старый 22.11.2013, 11:39   #24  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
а что вы в перехвате делаете?
Старый 25.11.2013, 07:14   #25  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
excel::WorkbookBeforeClose(Wb : Automation "Unknown Automation Server.Workbook";VAR Cancel : Boolean)
Wb.Save;
Wb.Close(FALSE);
CLEAR(Wb);
excel.Quit;
CLEAR(excel);

// сохранение файла ексель в базе
IF CONFIRM(Text004) THEN
"Const BLOB".IMPORT(TempName,FALSE);
Старый 25.11.2013, 11:13   #26  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Есть мнение что так делать в этом событии нельзя, т.к. этот код выполняется ДО закрытия книги. Не получиться закрыть приложение пока не закрыта книга.
Не понятно зачем делать еще один close или это другая книга?

Скорее всего приложение штатно не закрывается т.к. ждет пока завершится выполнение кода в приведенном тригере.
Старый 25.11.2013, 11:48   #27  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Логично, что ДО, т.к. событие beforeclose поэтому и книга сама не закрывается, поэтому я и делаю close.
Код полностью отрабатывает, и книга закрывается, но закрытия приложения ексель после этого не происходит.
Это если по крестику закрывать) При alt+f4 и событие отрабатывает, и закрывает приложение.
Старый 25.11.2013, 12:12   #28  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Почему книга не закрывается сама?
На сколько я понимаю механика следующая:
- нажимаем крестик на книге/приложении
- срабатывает тригер beforeClose, еще при открытой книге позволяет что-нибудь с ней сделать
- закрывается книга/приложение

зачем еще один сlose?
Старый 25.11.2013, 12:32   #29  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Ах да, пардоньте) Не могу загрузить файл в базу, пока открыта книга, пишет "файл занят другим приложением". Поэтому самостоятельно закрываю книгу перед этим действием.
Старый 25.11.2013, 14:09   #30  
InTacto is offline
InTacto
Участник
Аватар для InTacto
 
323 / 11 (1) +
Регистрация: 09.08.2005
Аксиома такая:
Приложение не закроется пока не отработает тригер BeforClose.

Принудительно закрывая книгу, которая уже закрывается, вы ломаете механизм закрытия из-за чего скорее всего перестают работать кнопки.

Так как вы хотите это сделать скорее всего не получиться.
Создавайте новую книгу, копируя текущую и импортируйте уже ее.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:52.