ADN Club > ObjectARX

-PUBLISH через acedCommandC или acedCommandS в 2015

(1/7) > >>

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.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии