Я звоню из моих C++ кода команд два DDE:Слова DDE вызова игнорируется
FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
Первой команда открыт шаблоном ws.dot и документ MyDoc.doc. Шаблон ws.dot содержит макрос FillTemplateAttests, который я пытаюсь выполнить во втором командном вызове DDE. Эти две команды функционировали правильно более 3 месяцев. Несколько дней назад вторая команда прервала работу. Я ничего не могу изменить в этой части кода или в макросе FillTemplateAttests. Прерванное функционирование означает, что когда я вызываю вторую команду, ничего не происходит, даже когда ExecuteMacro call возвращает true (это означает, что все должно быть ОК в соответствии с documentation). Когда я запускаю ту же программу с теми же документами ws.dot и MyDoc.doc на другом компьютере, все в порядке. Когда я звоню вторую команду дважды он фактически выполняется (но только один раз - первый вызов игнорируется):
FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
Мне кажется, как установка Слово сломана. Не могли бы вы помочь мне найти ядро проблемы?
ДОПОЛНЕНИЕ:
Когда я называю эти 3 команды в строке, все они исполняются:
FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[Beep]", false);
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)