Конференция "Corba" » XLReport и DCOM [Delphi, Windows]
 
  • Nick6 (21.12.06 13:05) [0]
    Всем привет!
    Кто-нибудь пробовал создавать отчёты в Excel через XLReport на удалённом компьютере? Там проблема в том, что при подключении XLReport к созданному удалённо (через DCOM или Borland Socket) процессу выдаётся ошибка "Интерфейс не поддерживается"
    var Excel: Variant;
    DCOMConnection.Connected:=true;
    Excel:=DCOMConnection.AppServer;
    XLReport.ConnectToExcelApplication(Excel); //ошибка
    А вобще все методы Excel доступны:
    Excel.Visible:=true;
    Excel.WorkBooks.Add; и т.д. //работает
    Может кто-то знает из-за чего конкретно XLReport ругается. (Исходников компонента нету). Можно как-нибудь обойти проблему?
  • umbra © (21.12.06 15:08) [1]
    а что это за штука - XLReport?
  • isasa © (21.12.06 16:43) [2]
    Выбирай.
    1. На удаленной машине нет Excel
    2. На удаленной машине не настроены разрешения на DCOM
    3. Нет контроллера домена в сети.

    Для таких финтов, в принципе, XLReport пятое колесо. :)

    Проверить можно обычным *.vbs скриптом

    Dim XLApp
     Set XLApp = CreateObject("Excel.Application", <имя машины/IP машины>)
     WScript.Echo XLApp.Version
     Set XLApp = Nothing

  • umbra © (21.12.06 17:26) [3]
    2 isasa ©   (21.12.06 16:43) [2]

    но ведь OLE оъект доступен, вроде бы, судя по


    > А вобще все методы Excel доступны:


    похоже, что репорту нужно раннее связывание.
  • isasa © (21.12.06 21:09) [4]
    umbra ©   (21.12.06 17:26) [3]
    похоже, что репорту нужно раннее связывание.


    Тогда в
    XLReport.ConnectToExcelApplication(Excel); //ошибка
    надо передавать не  Variant, а интерфейс из
    Excel_TLB.pas, а вообще ...
    ошибка в 17 строке ...
  • Nick6 (22.12.06 10:59) [5]
    Немного дополню...
    DCOM настроен правильно, поскольку приложение Excel на удалённом компьютере полностью доступно для управления. Работаешь с ним так же как если бы Excel был загружен на локальной машине. Метод XLReport.ConnectToExcelApplication должен просто присваивать компоненту ссылку на COM интерфейс (уже запущенный процесс Excel). Но ему что-то не нравится.
    Кстати если TDCOMConnection подцепить к своему же компьютеру, то всё работает нормально. Всё же хотелось бы узнать, что за ограничение есть при работе с удалённым компом. Придётся видимо спросить у создателей компонента.
 
Конференция "Corba" » XLReport и DCOM [Delphi, Windows]
Есть новые Нет новых   [134431   +9][b:0][p:0.001]