![>](style_images/1/nav_m.gif)
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.118.31.72] |
![]() |
|
Сообщ.
#1
,
|
|
|
Создаю вордовый документ (стоит Office 2000) и вылетает следующая ошибка:
'src->QueryInterface(GetIID(), (LPVOID *)(&intf))': Ошибка при загрузке библиотеки. @ d:\typelib\vcl\utilcls.h/2934 Press [Y]es to terminate, [N]o to continue and [C]ancel to Debug , хотя дома все хорошо работает (стоит Office XP). вот код как я делаю ![]() ![]() <br> WordApplication1->Visible = true;<br> WordApplication1->Documents->Add(EmptyParam,EmptyParam);<br> WordDocument1->ConnectTo(WordApplication1->ActiveDocument);<br> WordApplication1->Selection->InsertAfter(TVariant("hello"));<br> WordFont1->ConnectTo(WordApplication1->Selection->Font);<br> WordFont1->Size = 10;<br> Ругается на utilcls.h: ![]() ![]() <br>// Helper used to throw an exception<br>template <class T><br>void DebugHlpr_THROW(T* msg, HRESULT hr, T* file, bool /*assertFailed*/)<br>{<br>#if defined(ComObjHPP)<br> // NOTE: This does not retrieve rich error information, the way Delphi and VB environments<br> // do. Eventually this 'throw' will either throw a rich EOleException or some other<br> // OLE exception class (something equivalent to _com_error, maybe??)<br> //<br> // For now, you can specialized [T = TCHAR] 'DebugHlpr_THROW' to retrieve rich error<br> // information and throw a VCL exception class, if you're using VCL classes already,<br> // or throw a custom exception class.<br> //<br> // NOTE: Use the assertFailed parameter to distinguish between Assertion and<br> // OLECHECK failures. (Maybe throw something different??)<br>[b] throw EOleException(msg, hr, file, _T(""), 0);[/b] //показывает эту строку<br>#else<br> throw msg; // Hopefully we never get here: Need something much better to throw!!<br>#endif<br>} |
Сообщ.
#2
,
|
|
|
Смотри топик ниже "MSWORD поиск и замена слова ", у меня была подобная ошибка.
|
Сообщ.
#3
,
|
|
|
Цитата MAX2002, 22.05.03, 10:48:48 Смотри топик ниже "MSWORD поиск и замена слова ", у меня была подобная ошибка. Попробывал как в топике, такая же фигня на строчке Connect валится с такой же ошибкой. Чотя дома этого ничего нет Люди помогите. Bas ты где? |
![]() |
Сообщ.
#4
,
|
|
Ездил в район
Насколько понимаю работу СОМ сервера соображения такие: 1.Не существует данный интерфейс 2.Интерфейс требует другие параметры (разница в версиях) 3.Его просто не существует Примерно такая ошибка возникает при попытке закрыть ворд при занесении прогой в активный документ данных Первое что приходит на ум енто подключайся к RuningOrNew (у тебя помоему подключение к интерфейсу) ,может не поможет но ... И последнее на какой строке валится енто я еще час на связи |
Сообщ.
#5
,
|
|
|
валится при connect
наверху я показал на чем валится в коде комментарии |
![]() |
Сообщ.
#6
,
|
|
// OLECHECK failures. (Maybe throw something different??)
throw EOleException(msg, hr, file, _T(""), 0); #else throw msg; // Hopefully we never get here: Need something much better to throw!! #endif этого у меня нет Многие задачи компилированые на ХР не корректно работают везде в частности QReport |
![]() |
Сообщ.
#7
,
|
|
нету "[b] /b"
|
Сообщ.
#8
,
|
|
|
Читай топик внимательно, я делал так
Цитата try { WordApplication1->Connect(); } catch (Exception &exception) { MessageDlg("А вы установили Word", mtError, TMsgDlgButtons() << mbYes, 0); Abort; } // WordApplication1->GetDefaultInterface()->Visible = True; // WordApplication1->set_Caption(StringToOleStr("Borland automation")); OleVariant Template = EmptyParam; OleVariant NewTemplate = False; OleVariant ItemIndex = 1; OleVariant FileName=AnsiString(GetCurrentDir()+"\\Cbuilder.doc"); OleVariant NrDoc=WordApplication1->Documents->Add(FileName,Template) ; WordApplication1->Documents->Open(FileName, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam); WordDocument1->ConnectKind=ckAttachToInterface; WordDocument1->ConnectTo(WordApplication1->ActiveDocument); AnsiString oldStr="*"; AnsiString newStr=AnsiString("!!!"); int RangeEnd=WordDocument1->Characters->Count; OleVariant RangeEnd1=RangeEnd; WordDocument1->Range(EmptyParam,RangeEnd1)->Find->Execute((OleVariant)ol dStr , EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam, (OleVariant) newStr,(OleVariant)wdReplaceAll); WordDocument1->SaveAs(FileName); WordApplication1->Disconnect(); |
![]() |
Сообщ.
#9
,
|
|
А именно это ?
WordApplication1->Documents->Open(FileName, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam); WordDocument1->ConnectKind=ckAttachToInterface; |
Сообщ.
#10
,
|
|
|
Подскажите, нашлось ли решение проблемы7
У меня также При создании документа Word для передачи данных (Office 2010) вылетает следующая ошибка: HRCHECK: 'src->QueryInterface(GetIID(), (LPVOID *)(&intf))': Библиотека не зарегестрирована. @ d:typelib\include\vcl\utilcls.h/2934 Press [Y]es to terminate, [N]o to continue and [C]ancel to Debug На двух других компьютерах все отлично запускается, там стоит Office 2003 и Office 2013. Заранее спасибо. |