Windows 10> = 1809 проблем с jacob и Word ComObject - PullRequest
0 голосов
/ 17 января 2019

у нас есть старое унаследованное приложение, которое использует обновление 45 для Java версии 1.6 (jdk-6u45-windows-i586.exe) и Jacob.dll 1.8 (jacob_18.zip) и не может быть обновлено: (

До последнего обновления Windows 10 1809 все работало нормально. С тех пор поведение комобъекта, похоже, изменилось и приводит к ошибке, а также к тому, что документ word больше не сохраняется. Я также пробовал 19H1, но получил ту же ошибку.

Я мог бы воспроизвести проблему в Java с помощью следующего кода, конечно, вы должны импортировать Jacob.dll:

    import com.jacob.activeX.ActiveXComponent;
    import com.jacob.com.Variant;
    import com.jacob.com.Dispatch;


    ActiveXComponent oWord = new ActiveXComponent("Word.Application");
    oWord.setProperty("Visible", new Variant(true));

    Dispatch documents = oWord.getProperty("Documents").toDispatch();

    String str_file = "C:/temp/test.rtf";

    Dispatch doc = Dispatch.invoke(documents, "Open", Dispatch.Method, 
                            new Object[]{str_file}, 
                            new int[1]).toDispatch();

Я получаю ошибку:

    Exception in thread "main" com.jacob.com.ComFailException: A COM exception has been encountered:

    At Invoke of: Open
    Description: An unknown COM error has occured.
        at com.jacob.com.Dispatch.invokev(Native Method)
        at com.jacob.com.Dispatch.invokev(Dispatch.java:384)
        at com.jacob.com.Dispatch.invoke(Dispatch.java:267)
        at Main.main(Main.java:21)

Когда я нажимаю на «Ошибки отправки», я вижу только то, что это неверный номер строки в com.jacob.com.Dispatch

Я знаю, что это не лучший день, когда не обновляется само устаревшее приложение, но что можетЯ говорю, это так, как есть.

Есть идеи, что могло измениться в Windows> = 1809 или как это можно решить, не касаясь приложения?

Спасибо

Стефан

Редактировать:

Дисpatch oDocument = Dispatch.call (документы, «Открыть», str_file) .toDispatch ();приводит к той же ошибке

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

1 Ответ

0 голосов
/ 20 января 2019

ОК, ошибка та же, что и в этом посте:

Исключение из Word.ApplicationClass.Activedocument внезапно

Так что, похоже, ошибка в> = 1809, и на данный момент единственное исправление - это изменить / поиграть с региональными настройками

...