На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Ошибка из-за word
    Создаю вордовый документ (стоит 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).

    вот код как я делаю
    ExpandedWrap disabled
      <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:
    ExpandedWrap disabled
      <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>}
      Смотри топик ниже "MSWORD поиск и замена слова ", у меня была подобная ошибка.
        Цитата MAX2002, 22.05.03, 10:48:48
        Смотри топик ниже "MSWORD поиск и замена слова ", у меня была подобная ошибка.


        Попробывал как в топике, такая же фигня на строчке Connect валится с такой же ошибкой. Чотя дома этого ничего нет

        Люди помогите. Bas ты где?
          Ездил в район
          Насколько понимаю работу СОМ сервера соображения такие:
          1.Не существует данный интерфейс
          2.Интерфейс требует другие параметры (разница в версиях)
          3.Его просто не существует
          Примерно такая ошибка возникает при попытке закрыть ворд при занесении прогой в активный документ данных
          Первое что приходит на ум енто подключайся к RuningOrNew (у тебя помоему подключение к интерфейсу) ,может не поможет но ...
          И последнее на какой строке валится енто
          я еще час на связи

          Цель - ничто , процесс - все.
            валится при connect

            наверху я показал на чем валится в коде комментарии
              //             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

              Цель - ничто , процесс - все.
                нету "[b]  /b"
                Цель - ничто , процесс - все.
                  Читай топик внимательно, я делал так

                  Цитата

                  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();
                    А именно это ?
                    WordApplication1->Documents->Open(FileName,  
                         EmptyParam,EmptyParam,EmptyParam,  
                         EmptyParam,EmptyParam,EmptyParam,  
                         EmptyParam,EmptyParam,EmptyParam,  
                         EmptyParam,EmptyParam);  
                           WordDocument1->ConnectKind=ckAttachToInterface;  
                     
                    Цель - ничто , процесс - все.
                      Подскажите, нашлось ли решение проблемы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.
                      Заранее спасибо.
                      1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script Execution time: 0,0909 ]   [ 15 queries used ]   [ Generated: 13.12.19, 14:03 GMT ]