![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| eon |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Есть код, открывающий файл из базы данных:
Всё работает хорошо, будь то файл-картинка или doc. или xls. НО возникла проблема: если запущен Microsoft Word например, то при попытке выполнения вышеуказанного кода, вылетает ошибка на строке:
Ошибка: Нет процессов, связанных с этим объектом. Хотя файл он открывает, а при попытке ожидания выдает, что нет процесса. Повторяю, это возникает, если запущен Word. Если word не запущен, файл открывается и после закрытия Word'a удаляется без проблем. В чем проблема? |
||||
|
|||||
| Мурлыкатам_ |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 5.2.2007 Где: город-герой Минск Репутация: нет Всего: 2 |
Можно заменить на
А зачем здесь скобки? Можно же просто написать where id = какое-то значение. Кстати разумно было бы dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["idDataGridViewTextBoxColumn"].Value предварительно проверить на допустимость содержимого.
Перед выполнением этой команды: WaitForExit(); можно проверить запущен ли ворд, с помощью класса Process - взять все запущенные процессы, найти все ворды, а затем безжалостно убить Также может быть трабла в создании процесса, там есть параметр myProcessStartInfo.UseShellExecute = false; можно попробывать поставить в тру и посмотреть что будет. Если я правильно помню, то результатом будет запуск файла, как из командной строки и возможно создастся новый экземпляр ворда для этого файла. Замена на Application.DoEvents(); - реальная альтернатива, с моей точки зрения Это сообщение отредактировал(а) Мурлыкатам_ - 21.10.2010, 14:56 |
||||||||
|
|||||||||
| eon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Получается так: при открытии файла .doc (если уже запущен word) процесс мой самопроизвольно убивается. Поэтому и ошибка, что нет процесса.
Сделал так: Если расширение файла doc или docx, тогда смотрю все процессы на компе. Если есть процесс WINWORD, тогда свой процесс привязываю к WINWORD'у. То же самое с EXCEL и POWERPNT. Всё работает, всё хорошо. Но возникло две проблемы: 1. После закрытия документа, у меня должен файл удаляться, а у меня что происходит? Файл удаляется только после того, как процесс WINWORD полностью завершится, то есть закроются ВСЕ документы WINWORD. Как сделать так, чтобы после закрытия моего файла в ворде. удалялся файл. 2. Нужен какой-то универсальный способ, ибо я написал для трёх программ (WINWORD, EXCEL, POWERPNT - именно так они называются в процессах). А если файл будет Microsoft Visio и иже с ним? А если microsoft решит переименовать процеесы и будут они называться по другому, так что мне программу переписывать надо будет?? Помогите, пожалуйста советом. Спасибо. |
|||
|
||||
| eon |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 31.8.2010 Репутация: нет Всего: нет |
Заменил на
Та же ситуевина: нет процесса связанного....
Это также не привело к успеху. |
||||||||||
|
|||||||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |