Уточняю вопрос
Делаем программу, указанную ниже
static void TestAppcmdGlobalName1(void) {
acutPrintf(L">>> cmdGlobalName1() - START\n\r");
acedCommandS(RTSTR, _T("cmdGlobalName2"), 0);
acutPrintf(L">>> cmdGlobalName1() - END\n\r");
}
static void TestAppcmdGlobalName2(void) {
acutPrintf(L">>> cmdGlobalName2() - START\n\r");
}
ACED_ARXCOMMAND_ENTRY_AUTO(СTestApp, TestApp, cmdGlobalName1, cmdLocalName1, ACRX_CMD_TRANSPARENT, NULL)
ACED_ARXCOMMAND_ENTRY_AUTO(СTestApp, TestApp, cmdGlobalName2, cmdLocalName2, ACRX_CMD_TRANSPARENT, NULL)
Команда cmdGlobalName2 выполняется и выводится текстовое сообщение
>>> cmdGlobalName2() - START
При вызове команды cmdGlobalName1 Выводится только
>>> cmdGlobalName1() - START
>>> cmdGlobalName1() - END
Команда cmdGlobalName2 в данном случае не выполняется
Почему не вызывается cmdGlobalName2 и как сделать, чтобы она вызывалась?
Если заменить вызов
acedCommandS(RTSTR, _T("cmdGlobalName2"), 0);
на
TestAppcmdGlobalName2();
функция выполняется.
Но в задаче требуется выполнить вызов команды из другого файла и этого сделать нельзя