|
![]() |
#1 |
Участник
|
процесс оставлять в памяти не есть гуд..
в свое время писал такой код, но сейчас нет возможности проверить.. если не ошибаюсь, вторая ветка как раз закрывает окно и снимает процесс, в случае, если пользователь в диалоговом окне печати выбрал что-то кроме как печать.. надеюсь понятно, что на протяжении все предыдущей процедуры заполнения документа он остается невидимым.. [codebox] IF wdApp.Dialogs.Item(88).Show = -1 THEN BEGIN //если отправили на печать, то приложение не закрываем, //т.к. неизвестно, успело ли уйти на печать wdDocNew.Close; IF ERASE(FileName) THEN; END ELSE BEGIN SaveChanges := 0; OriginalFormat := 1; RouteDoc := FALSE; wdDocNew.Close; IF ERASE(FileName) THEN; IF NOT ISCLEAR(wdApp) THEN wdApp.Quit(SaveChanges,OriginalFormat,RouteDoc); END;[/codebox] а еще, чтобы Нав не конфликтовал с запущенными на машине пользователя процессами (ворда или экселя), использовал CREATE(wdApp,TRUE), где второй параметр указывает, что это новый инстанс приложения.. по-моему так.. пусть гуру поправят |
|