Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с TWordApplication Word2007, ошибка при методе Open() 
:(
    Опции темы
yogin
Дата 29.9.2010, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Всех приветствую.
Проблема следующая, имеется код:
Код

  fn := ExtractFilePath(Application.ExeName) + 'shablon3.doc';
  WordApplication1.Connect;
  WordApplication1.Documents.Open(fn, EmptyParam, EmptyParam, EmptyParam,
        EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
        EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
  WordApplication1.Options.CheckSpellingAsYouType := FALSE;
  WordApplication1.Options.CheckGrammarAsYouType := FALSE;

Это открытие определённого файла для редактирования таблицы в нём.
Вылетает на методе Open со словами: "rased exception class EIntfCastError with message 'Interface not supported'. Process stoped."
Ошибка при компиляции началась когда установил ворд 2007, раньше при написании программы стоял ворд 2003.
Сам TWordApplication нужен мне для такого метода как:
Код

WordDocument1.Tables.Item(NumTab).Cell(row, col).Range.Text

ПО: Delphi7, Word2007.

Помогите разрешить проблему, что надо делать, кто сталкивался?
PM MAIL   Вверх
Xenag
Дата 30.9.2010, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 51
Регистрация: 6.3.2010

Репутация: нет
Всего: нет



Ну во-первых, нужно такие вызовы брать в try .. except.
А во-вторых, тут явно написано, что формат вызова изменился.
Так что нужно смотреть подсказки компилчтора.
PM   Вверх
yogin
Дата 30.9.2010, 08:02 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Xenag @ 30.9.2010,  04:25)
Ну во-первых, нужно такие вызовы брать в try .. except.
А во-вторых, тут явно написано, что формат вызова изменился.
Так что нужно смотреть подсказки компилчтора.

Жаль, но ничего нового не сказал.
Ещё варианты решения проблемы? Желательно кто ясно знает решение...
PM MAIL   Вверх
Albinos_x
Дата 30.9.2010, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



при пошаговой отладке на какой строчке вываливается ошибка?:
у меня этот код отрабатывает корректно под 2003 и 2007 офисы:
Код

WordApp.Documents.Open(FileNameOle, EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam, EmptyParam,
                                 EmptyParam, EmptyParam, EmptyParam);


Добавлено через 3 минуты и 11 секунд
будет ли вываливаться ошибка если закоментить отключение проверки граматики или правописания, или того и другого вместе?


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
cat512
Дата 30.9.2010, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 3
Всего: 15



Как то странно, у Albinos_x работает, у тебя вылетает, такое ощущение что инсталляха палёная, как будто некоторых библиотек не хватает. Если бы ты использовал не Automation, а раннее связывание то можно было бы проверить на этапе компиляции, подсунув в проект TLB от 2007 а с автомэйшн никак. 
Попробуй переставить офис из другого дистибутива

Добавлено @ 20:14
Или возможно что-то не доставил

Это сообщение отредактировал(а) cat512 - 30.9.2010, 23:33
PM MAIL   Вверх
Albinos_x
Дата 2.10.2010, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



cat512, речь идет о встроеных в делфи библиотеках... так что tbl тут скорее всего не при чем... и оффис возможно тоже.... может если только параметры безопасности очень высокие... тогда обращения к серверу могут блокироваться... или частично блокироваться...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
cat512
Дата 3.10.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 438
Регистрация: 20.3.2007

Репутация: 3
Всего: 15



Цитата(Albinos_x @ 2.10.2010,  21:20)
cat512, речь идет о встроеных в делфи библиотеках... так что tbl тут скорее всего не при чем... и оффис возможно тоже.... может если только параметры безопасности очень высокие... тогда обращения к серверу могут блокироваться... или частично блокироваться...

Не буду гадать по поводу возможной причины возник.  проблеммы, возможно вы не поняли, как может быть  связанно отсутствие некоторых библиотек (com серверов) .
"Встроенные в делфи библиотеки" используют интерфейсы Microsoft Office. Если бы это было не так, то все мы использовали бы программу  Borland office, а не MO. В среду импортируются враппера, точнее сказать среда генерит враппера интерфейсов, на основе библитотеки типов. И при установки Delphi, у вас в мастере вываливается вкладка, где вы выбираете, для какой версии офиса установливать тот или иной набор врапперов. Но ВСЕ они юзают, интерфейсы, описанные в TLB, предоставляемые набором конкретных DLL, упакованных в соответсвующий дистрибутив офиса. И по скольку используется Automation(позднее связывание), то отсутствие какой нибудь, даст в runtime ошибку.

Добавлено @ 11:49
Навряд ли "высокие параметры безопаности" дадут ошибку "Interface not supported"

Это сообщение отредактировал(а) cat512 - 3.10.2010, 15:08
PM MAIL   Вверх
Albinos_x
Дата 5.10.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(cat512 @  3.10.2010,  11:44 Найти цитируемый пост)
Но ВСЕ они юзают, интерфейсы, описанные в TLB, предоставляемые набором конкретных DLL, упакованных в соответсвующий дистрибутив офиса.


Цитата(yogin @  29.9.2010,  23:54 Найти цитируемый пост)
Ошибка при компиляции началась когда установил ворд 2007


если проблема c TBL, то она была бы и при 2003 оффисе...

Цитата(cat512 @  3.10.2010,  11:44 Найти цитируемый пост)
Навряд ли "высокие параметры безопаности" дадут ошибку "Interface not supported"

точно не помню... дано сталкивался с проблемой... еще стоит проверить безопасность макросов в самом оффисе...

но хотелось бы услышать автора данного топика и его ответы на мои вопросы, тогда мы сможем понять в чем дело... а не гадать на кофейной гуще...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
yogin
Дата 26.10.2010, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Цитата(Albinos_x @ 30.9.2010,  18:21)
будет ли вываливаться ошибка если закоментить отключение проверки граматики или правописания, или того и другого вместе?

Всем спасибо за анализ проблемы. 
Опять загрузив недавно исходники, проблема вдруг исчезла...
Я склоняюсь к тому, что видимо исключение не касалось метода .Open, а было в другом месте(расчёт данных, при открытом вордАпи, для заполнения отчёта).
Ответ на вопрос: в прошлый раз при коментировании проверок ошибка всё равно была.
PM MAIL   Вверх
yogin
Дата 1.11.2010, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Встала новая проблема в вопросе этого компанента.
А где TWordApplication в Delphi XE или в Delphi 2010??
Немогу найти...
Если его нет, то как тогда работать с вордом, чтобы выполнять задачи о которых я говорил выше? 
а именно - мне нужно заполнять таблицы в ворде.

Это сообщение отредактировал(а) yogin - 1.11.2010, 21:03
PM MAIL   Вверх
Albinos_x
Дата 3.11.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



на какой закладке не знаю... по идее на той же services... если что подключи модуль создавай их динамически...


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Regulum
Дата 5.1.2011, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 16.6.2009

Репутация: 1
Всего: 1



Цитата(yogin @ 1.11.2010,  16:18)
Встала новая проблема в вопросе этого компанента.
А где TWordApplication в Delphi XE или в Delphi 2010??
Немогу найти...
Если его нет, то как тогда работать с вордом, чтобы выполнять задачи о которых я говорил выше? 
а именно - мне нужно заполнять таблицы в ворде.

Насчет XE ничего не могу сказать, а вот в D2010 по умолчанию компоненты для работы с MS Office не устанавливаются. При инсталляции Delphi нужно указать необходимость их установки.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0849 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.