Тема: acedCommand() => sendStringToExecute()

Подскажите, плиз, как написать через acDocManager->sendStringToExecute() вот такую комманду:
acedCommand(RTSTR, "._DVIEW", RTSTR, "", RTSTR, "_O", RTSTR, "", 0);
Там проблема с "", не знаю как сними быть.

Re: acedCommand() => sendStringToExecute()

Заменяй на "\n"

Re: acedCommand() => sendStringToExecute()

Если так:         acDocManager->sendStringToExecute(acDocManager->curDocument(), "_DVIEW\n_O\n", false, false, false);
, то не работает. :(  ???

Re: acedCommand() => sendStringToExecute()

> Sergei
Что этот код долден делать?

Re: acedCommand() => sendStringToExecute()

P.S.: По логике не хватает еще одного "\n" в конце строки.
P.S.S.: И этот код будет работать асинхронно к основному коду программы.

Re: acedCommand() => sendStringToExecute()

Нужно вырубить, а потом включить перспективу. Делал это так:
acedCommand(RTSTR, "._DVIEW", RTSTR, "", RTSTR, "_O", RTSTR, "", 0); // off
        acedCommand(RTSTR, "._DVIEW", RTSTR, "", RTSTR, "_D", RTSTR, "", RTSTR, "",  0); // ON
Все работало, но теперь такая штука понадобилась в приложении, которое создается с параметрами (ACRX_CMD_MODAL | ACRX_CMD_SESSION), а внем acedCommand() не работает, вот и хочу воспользоваться sendStringToExecute().
Похоже "\n" пробел не заменяет.

Re: acedCommand() => sendStringToExecute()

А что у тебя после вызова sendStringToExecute()? Ведь этот код сработает только после того, как ты вернешь управление AutoCAD'у.

Re: acedCommand() => sendStringToExecute()

вот мой код:
       
Acad::ErrorStatus es;
es=acDocManager->sendStringToExecute(acDocManager->curDocument(), "_DVIEW\n_O\n\n");
         acutPrintf("\n es=%d \n", es);
а вот результат работы:
es=0
_DVIEW
*Invalid selection*
Expects a single object.
_O
*Invalid selection*
Expects a single object.

Re: acedCommand() => sendStringToExecute()

> Sergei
А у тебя случайно предварительного выбора не было?
Попробуй так:

es=acDocManager->sendStringToExecute(acDocManager->curDocument(), "\003_DVIEW\n_O\n\n");

Re: acedCommand() => sendStringToExecute()

сначала прервалась работа программы, а потом вот это:
*Cancel*
Command: _DVIEW
Select objects or <use DVIEWBLOCK>: _O
*Invalid selection*
Expects a point or
Window/Last/Crossing/BOX/ALL/Fence/WPolygon/CPolygon/Group/Add/Remove/Multiple/P
revious/Undo/AUto/SIngle
Select objects or <use DVIEWBLOCK>:
*** Switching to the WCS ***
Enter option
[CAmera/TArget/Distance/POints/PAn/Zoom/TWist/CLip/Hide/Off/Undo]:
А можно как-нибудь зайти с другого бока, как можно иначе отключить и затем включить перспективу ???

Re: acedCommand() => sendStringToExecute()

Тогда вот так:

es=acDocManager->sendStringToExecute(acDocManager->curDocument(), "_DVIEW\n[b]\n[/b]_O\n\n");