Приложение VB6, управляющее Word, ведет себя иначе во время отладки, чем при компиляции - PullRequest
3 голосов
/ 01 ноября 2010

У меня есть приложение vb6, которое использует взаимодействие Word для создания нескольких отчетов.Во введении этих отчетов есть несколько инструкций в 4 текстовых полях вокруг изображения.

Недавно и неожиданно два верхних текстовых поля начали появляться на следующей странице, и я не могу понять, почему.Когда я выполняю код и наблюдаю за созданием текстового документа, все корректно позиционируется, однако, если я компилирую приложение, появляется ошибка.

Есть предложения?

Ответы [ 4 ]

1 голос
/ 01 ноября 2010

Используйте поздние звонки в Word. Это не означает удаление ссылки на Microsoft Word Xxx Object Library, просто измените ваши Dim s следующим образом

Dim oWord As Object '--- was Word.Application'
Dim oDoc As Object '--- was Word.Document'
...
oDoc.Protect wdAllowOnlyReading '--- keep using enums'
0 голосов
/ 16 декабря 2010

Есть ли у вас код в событиях, которые зависят от времени, таких как Form_Activate, Load или Unload?Я видел, как эти вещи ведут себя по-разному при пошаговом выполнении кода и при компиляции, особенно на новых, более быстрых машинах

0 голосов
/ 09 декабря 2010

Может быть, вы запускаете скомпилированную версию от имени другого пользователя, чем тот, на котором работает VB при отладке?Может быть, это может вызвать то, что вы описываете, если два пользователя имеют разные настройки Word.

Возможно ли, что скомпилированная версия найдет другую версию файла .dot?

Можетбудет очень полезно, если вы покажете код, который вы используете для создания документа Word, потому что тогда кто-то здесь может заметить что-то, что может иметь смысл для перехода к скомпилированной версии.

0 голосов
/ 09 декабря 2010

Может ли быть какая-то разница в округлении?Например, если вы сравните два значения с плавающей точкой для равенства , результат может незначительно зависеть от конкретной реализации компилятора / интерпретатора.

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

...