|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
||||||||||||||||
Использование MS Word в программе, проверить факт зависания07.12.2013, 23:22. Показов 1427. Ответов 7
Метки нет (Все метки)
Добрый день!
При запуске программы на c# вызываю Word через интерфейс COM:
Подскажите, как можно диагностировать, что вызванный программой экземпляр Word'а был закрыт (не доступен)? Добавлено через 11 минут Решил вот так:
Т.е. запрашиваю заголовок приложения. В случая эксепшна делаю перезапуск.
0
|
||||||||||||||||
| 07.12.2013, 23:22 | |
|
Ответы с готовыми решениями:
7
|
|
Master of Orion
|
|||||||||||
| 07.12.2013, 23:34 | |||||||||||
|
Suppir, думаю это оптимальный вариант. Можно мониторить процессы ворда, но ведь может работать какой-то другой документ, а ваш быть закрытым. Только для лучшей документации постарайтесь неочевидные проверки выносить в определенный метод (я вот не догадался бы, зачем заголовок тут нужен и как он влияет). А если есть желание закоментировать - типа "Здесь мы проверяем, не закрыли ли ворд", то намного лучше сделать такой метод:
Тут метод из одной строчки, поэтому бросается в глаза, и сразу понятно, что проверка кривоватая, но правильная. Еще плюс: если вы потом узнаете более правильный метод проверки (например, флаг какой-нибудь или еще что), в методе исправили, а не лазить по всему коду. ??????? ПРОФИТ!
1
|
|||||||||||
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
||
| 08.12.2013, 12:39 [ТС] | ||
|
Тоже вариант, спасибо!
Добавлено через 12 часов 43 минуты
0
|
||
|
Master of Orion
|
|
| 08.12.2013, 13:25 | |
|
Suppir, а, ну просто я писал у себя в студии, чтобы с форматированием и всем прочим не заморачиваться, поэтому осталось static. Вообще не нужно тут, да.
Хотя зависит от того, где у вас word. Если он - глобальная переменная, то лучше static, т.к. статики быстрее работают.
0
|
|
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
|
| 08.12.2013, 18:33 [ТС] | |
|
А, понятно.
Я пока не разбирался с этими static'ами. Написано: Модификатор static используется для объявления статического члена, принадлежащего собственно типу, а не конкретному объекту. Читаю-читаю, но смысла не прибавляется Все-таки, нужно хотя бы пару книг по c# прочитать. А то я только MDSN и форумы гуглю.
0
|
|
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
|
| 08.12.2013, 19:26 [ТС] | |
|
Т.е. если я не вызывают какие-то переменные из класса, которые определены в его начале, то лучше использовать static?
0
|
|
|
Master of Orion
|
|
| 08.12.2013, 19:33 | |
|
Suppir, да
0
|
|
| 08.12.2013, 19:33 | |
|
Помогаю со студенческими работами здесь
8
Составить блок схему к программе, определяющей факт существования треугольника Как В 1с Бухгалтерия 2.0 (8.2) Проверить Факт Оплаченности Счета Покуп Определить факт пересечения объектов и факт включения одного объекта в другой Как сделать задержку в программе без зависания формы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|