ADN Club > ObjectARX
-PUBLISH через acedCommandC или acedCommandS в 2015
begiz:
Добрый день,
Продолжаю мигрироватся на 2015.
Процедура должна выполнятся из модального окна синхронно.
acedCommand не осталось, заменили на acedCommandC и на acedCommandS.
acedCommandC - вызывается после завершения процедуры, так не подходит.
acedCommandS - возврасиает ошибку 22, ERR_BAD_COMMAND., по логике как раз acedCommandS подходит.
Есть подозрение что чего-то не так с названием фаила, но в консоли не видно как название передалось.
Пробовал и в кавычках (одинарных и двоиных и без них) и с двоиными '\'.
Может есть еще какие-то моменты?
--- Код - C++ [Выбрать] ---struct resbuf vl_old,vl_new; vl_new.restype = RTSHORT; vl_old.restype = RTSHORT; acedGetVar(_T("SDI"),&vl_old); int val = vl_old.resval.rint; vl_new.resval.rint = 0; acedSetVar(_T("SDI"),&vl_new); acedSetVar(_T("backgroundplot"),&vl_new); acedSetVar(_T("filedia"),&vl_new); this->BeginEditorCommand(); acedCommand(RTSTR,_T("-publish"),RTSTR,file,RTNONE); //file - c:\\test.dsd //acedCommandC(NULL,NULL,RTSTR,_T("-publish"),RTSTR,file,RTNONE); //acedCommandS(RTSTR,_T("-publish"),RTSTR,file,RTNONE); this->CompleteEditorCommand(); vl_new.resval.rint = 1; acedSetVar(_T("filedia"),&vl_new); acedSetVar(_T("SDI"),&vl_old);
Александр Ривилис:
1) Версия AutoCAD английская? Если нет, то правильнее не _T("-publish"), а _T("_-publish")
2) Попробуй заменить в имени файла все _T('\\') на _T('/')
3) Включи на время теста системную переменную CMDECHO - она позволит посмотреть запросы командной строки.
4) Так как команде передаются все параметры за один раз, то похоже, что тебя устроит вариант acedCommandS
begiz:
1.Версия англицкая
2.попробовал, ничего не поменялось
3.CMDECHO на 1, но в том то и дело что выводится только -publish, а какой параметр, т.е. какой фаил подаётся невидно. Создается впечатление что он вообще не подается
4.попробовал acedCmdS, тоже самое
Александр Ривилис:
Попробуй не из диалогового окна работает ли acedCommandS(RTSTR,_T("_-publish"),RTSTR,file,RTNONE);
Если работает, то подготовь проект, в котором диалоговое окно с кнопкой, которая вызывает этот код - отправлю в ADN DevHelp
begiz:
В процессе создания проекта выяснилось.
errno - 22, где то раньше устанавливался и к етому участку кода отношения не имел.
Сейчас возврасяется 0, но это все равно никак не работает PUBLISH не запускается. Т.е. ни из окна, ни через команду.
Собрал проект с разными вариантами выполнения, ни 1 не работает.
p.s. Для проверки использовал DSD созданный ACAD.
Навигация
Перейти к полной версии