Windows 10 ›= 1809 проблем с jacob и Word ComObject

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

Все работало нормально до последнего обновления Windows 10 1809. С тех пор поведение comobject, похоже, изменилось и вызывает ошибку, а также то, что текстовый документ больше не может быть сохранен. Я также пробовал 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 или как это можно решить, не касаясь приложения?

Спасибо

Стефан

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

Dispatch oDocument = Dispatch.call(documents, "Open", str_file).toDispatch(); приводит к той же ошибке

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


person Stephan    schedule 17.01.2019    source источник
comment
Возможный дубликат Исключения из Word.ApplicationClass.Activedocument внезапно   -  person mklement0    schedule 11.03.2019


Ответы (1)


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

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

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

person Stephan    schedule 20.01.2019