Тема: cannot convert parameter ACHAR *

acutPrintf("\n{LDA} \"%s\" не может быть выгружен...",strPathApp.c_str());
Вызывает ошибку
cannot convert parameter 1 from 'const char [29]' to 'const ACHAR *'
Autocad 2007 . VC++ 7.0 (studio 2005)
Иногда помогает _Т(),а иногда нет
Погите кто чем может!!!

Re: cannot convert parameter ACHAR *

> demontage
Это ты наш с Романом Унесихиным пример RunArx из книги Н.Н. Полещука "AutoCAD: разработка приложений, настройка и адаптация" пытаешься перетащить из ObjectARX 2006 в 2007? smile
Если Николай Николаевич не будет возражать - я отошлю тебе вариант под 2007-ой.

Re: cannot convert parameter ACHAR *

P.S.: И еще внимательно почитай:
в ObjectARX SDK 2007 документацию, особенно:
Migration Guide for Applications->ObjectARX Migration Guide->Upgrading to Visual Studio 2005 и Upgrading to Unicode

Re: cannot convert parameter ACHAR *

Именно этим и пытался заняться :).Был бы очень признателен за работающий исходник , потому что воодушевлен идеей освоить ObjectArx ,но понял что начинать с 2007 АКАДа(багов в нем еще до 2010 исправлять+ мало литературы пока) было не очень удачным решением.
Спасибо за совет.
З.Ы. А в сети где-нибудь есть OBJECTARX Developer Guide Autocad 2007(06,05,04,02) а то скачал только 2000.

Re: cannot convert parameter ACHAR *

Scenario 4: The application will not be built as Unicode. Rather, it will be built as multi-byte using the ObjectARX 2007 SDK, but some or all of it will also be built on earlier versions of AutoCAD.
Suggestion: This is the most complicated scenario. Strings internal to the application are multi-byte, but strings passed to ObjectARX APIs may or may not be converted to Unicode, depending on the targeted AutoCAD version.
To accommodate these requirements, you must provide your own means of converting strings at compile time based on the AD_UNICODE definition. For instance, the following macros define symbols that use the AdAchar.h file when AD_UNICODE is defined (in ObjectARX 2007 builds only), but resolve to multi-byte alternatives for earlier versions of the ObjectARX SDK:
#ifdef AD_UNICODE
#include "AdAchar.h"
typedef ACHAR MYCHAR;
#define _MY_T _ACRX_T
#else
typedef char MYCHAR;
#define _MY_T(x) x
#endif
Another solution would be to define your own version of AdAchar.h, to use with pre-2007 builds, that defines ACHAR as char and _ACRX_T() as _T().
Note Any ObjectARX 2007 application that uses MFC should be ported to Unicode. Linking to MFC libraries in an ObjectARX project that does not define Unicode presents difficult and complex challenges.
Вот и весь ответ

Re: cannot convert parameter ACHAR *

> demontage
Я надеюсь, что ты уже понял, что этот сценарий в данном случае не проходит, ибо:

Note Any ObjectARX 2007 application that uses MFC should be ported to Unicode. Linking to MFC libraries in an ObjectARX project that does not define Unicode presents difficult and complex challenges.

Кроме того, в этом примере еще были нюансы...
RunARX для AutoCAD 2007 отправил. Сравнишь.
P.S.: pdf-файла, как это было с ObjectARX SDK 2000 для следующих версий Developer Guide нет. Все в виде chm-файлов в самом ObjectARX SDK в каталоге docs.

Re: cannot convert parameter ACHAR *

Спасибо большущее.Бегу смотреть :)

Re: cannot convert parameter ACHAR *

Получил подтверждение что это и есть ПРАВИЛЬНЫЙ код:
acutPrintf(_T("\n{LDA} \"%s\" не может быть выгружен..."),strPathApp.c_str());
У меня работало, но через раз как-то....Пришлось Studio и ArxWiz переустанавливать...И все заработало))).Еще раз спасибо , Александр.

Re: cannot convert parameter ACHAR *

А можно и мне вариант для 2007 получить?
Заранее благодарен!

Re: cannot convert parameter ACHAR *

> Serghei
Можно. Отправил на e-mail.

Re: cannot convert parameter ACHAR *

> Александр Ривилис
Огромное спасибо!!!

Re: cannot convert parameter ACHAR *

Александр Ривилис.
А можно ли вообще получить доступ к варианту диска под AutoCAD 2007? Я имею ввиду диск, который идёт с книгой "AutoCAD 2006: разработка приложений, настройка и адаптация". Спасибо!

Re: cannot convert parameter ACHAR *

> Doglexx
Нет, конечно. :) Вот когда выйдет книга (когда это будет - вопрос не ко мне, а к Николаю Николаевичу Полещуку), тогда можно будет рассчитывать на диск. А пока - читаем ObjectARX Documentation->Migration Guide for Applications->ObjectARX Migration Guide и самостоятельно перерабатываем примеры.

Re: cannot convert parameter ACHAR *

Жаль, просто тяжело осваивать ObjectARX, когда необходимо ещё переделывать код с учётом изменений в 2007 АРХ:(

Re: cannot convert parameter ACHAR *

> Doglexx
Схема написания ARX-приложений, приведенная в главе "ObjectARX (C++)" книги "AutoCAD: разработка приложений, настройка и адаптация" для версий 2005 и 2006, действует и в 2007. Поэтому по тексту книги можно работать и с новой версией, с учетом нюансов перехода к юникодам: "одевать" макросом _T явно заданные строки и пользоваться файлом tchar.h для аналогов функций обработки строк. Другие нюансы, наверное, заранее не опишешь.
Новую книгу издательство сейчас выпускать не будет (спрос невелик). Один пример посложнее я выложил и для 2007 версии на http://poleshchuk.spb.ru/cad/Download.htm
Задавайте вопросы, Вам ответят.

Re: cannot convert parameter ACHAR *

Уважаемый Николай Николаевич! Спасибо за ответ. Будем разбираться...