ADN Club > ObjectARX

Создание проекта без виззарда

(1/2) > >>

pucher:
Здравствуйте. Создание проекта при помощи виззарда срабатывает. А вот попытка создать проект с ноля, как описано в Developer's Guide, через Empty Project, не увенчалась успехом. Код следующий:

--- Код - C++ [Выбрать] ---#include "rxregsvc.h"#include "acutads.h"#include "stdafx.h"#include "tchar.h"#include <aced.h> extern "C" AcRx::AppRetCodeacrxEntryPoint(AcRx::AppMsgCode msg, void* appId){    switch(msg) {    case AcRx::kInitAppMsg:        acrxUnlockApplication(appId);        acrxRegisterAppMDIAware(appId);        acutPrintf(_T("\nHello World!"));    break;    case AcRx::kUnloadAppMsg:    break;    }    return AcRx::kRetOK;}При попытке компиляции в строке

--- Код - C++ [Выбрать] ---acutPrintf(_T("\nHello World!"));обнаруживаются ошибки:

--- Цитировать ---Error   1   error C2664: 'acutPrintf' : cannot convert parameter 1 from 'const char [14]' to 'const ACHAR *'
   2   IntelliSense: argument of type "const char *" is incompatible with parameter of type "const ACHAR *"
--- Конец цитаты ---
Вопросы:
1. Как победить эту ошибку?
2. Почему во всех примерах  Developer's Guide при работе со строкой не используется запись вида _T(x)? Например,

--- Код - C++ [Выбрать] ---acutPrintf("\nExample Application Loaded");Такая строка даже в проекте, созданном виззардом, вызовет ошибку. Не будут же все примеры неправильными...

Александр Ривилис:
pucher,
Прочитай у меня в подписи как следует форматировать код у нас на форуме и исправь у себя в сообщении!

pucher:

--- Цитата: Александр Ривилис от 17-12-2018, 21:40:54 ---Прочитай у меня в подписи как следует форматировать код у нас на форуме и исправь у себя в сообщении!
--- Конец цитаты ---
Готово

Александр Ривилис:

--- Цитата: pucher от 17-12-2018, 22:05:55 ---Готово
--- Конец цитаты ---
Отлично. Теперь по существу вопроса. В каждой из версий ObjectARX и Visual Studio свои особенности настройки проектов. Рекомендую не заморачиваться и использовать ObjectARX Wizard, т.к. запомнить десятки необходимых настроек проекта очень сложно.

--- Цитата: pucher от 17-12-2018, 21:38:40 ---1. Как победить эту ошибку?
--- Конец цитаты ---
Проект должен быть Unicode. Тогда _T("...") означает L"...", а не "..." и компиляция проходит нормально.

--- Цитата: pucher от 17-12-2018, 21:38:40 ---2. Почему во всех примерах  Developer's Guide при работе со строкой не используется запись вида _T(x)? Например,
Код - C++ [Выбрать]

    acutPrintf("\nExample Application Loaded");

Такая строка даже в проекте, созданном визардом, вызовет ошибку. Не будут же все примеры неправильными...
--- Конец цитаты ---
Многие примеры в нём устаревшие и не учитывают UNICODE-революцию в AutoCAD 2007.

DimVer:

--- Цитата: Александр Ривилис от 17-12-2018, 22:37:42 ---Отлично. Теперь по существу вопроса. В каждой из версий ObjectARX и Visual Studio свои особенности настройки проектов. Рекомендую не заморачиваться и использовать ObjectARX Wizard, т.к. запомнить десятки необходимых настроек проекта очень сложно.
--- Конец цитаты ---
Если этот этап вроде бы пройден, а проекты создаются не так часто. Есть ли смысл использовать Wizard? Как я понимаю - это дополнительная обёртка к классам ObjectARX?

Навигация

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

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

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