Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 40

ID3DXFont error c2664

06.03.2012, 20:55. Показов 1793. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю 3D в VC++ с DirectX. по книге
Не получается вывести шрифт. Не может преобразовать строковые типы.
C++
1
2
3
4
5
6
7
LOGFONT lf;  //структура
ZeroMemory(&lf,sizeof(lf));
strcpy(lf.lfFaceName,"Arial");
lf.lfHeight=-16;
if (FAILED(D3DXCreateFontIndirect(g_pD3DDevice,&lf,&g_pFont))){
    //ошибка  
    }
Ошибка:
C:\Program Files\Microsoft Visual Studio\MyProjects\qwe\WinMain.cpp(235) : error C2664: 'D3DXCreateFontIndirectA' : cannot convert parameter 2 from 'struct tagLOGFONTA *' to 'const struct _D3DXFONT_DESCA *'

Что делать ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2012, 20:55
Ответы с готовыми решениями:

ID3DXFont и неустановленные шрифты
Разрабатываю игру на C++ & DirectX. Оказалось выводить текст целая проблема. ID3DXFont конечно не идеальное решение но очень удобно....

ID3DXFont - загрузка шрифта из файла или массива байт
Как загрузить ID3DXFont из файла или, что еще лучше, прямо из массива байт (хранящегося в памяти)? в гугле ничего не нашел.

Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR'
выдает вот такую ошибку - Error 1 error C2664: 'CharToOemW' : cannot convert parameter 1 from 'const char *' to 'LPCWSTR' использую visual...

4
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
06.03.2012, 22:09
я не совсем уверен но попробуй зайти в Свойства проекта -> Общие -> Набор символов и изменить на "использовать многобайтовую кодировку"
0
0 / 0 / 0
Регистрация: 13.12.2009
Сообщений: 40
07.03.2012, 02:05  [ТС]
Поставил Microsoft Foundation Classes в Use MFC in a Shared DLL. Потдержка Юникод.
Та же самая ошибка.

Я и так пробовал:
C++
1
wcscpy(lf.lfFaceName,L"Arial");
Получаю вот это:
C:\Program Files\Microsoft Visual Studio\MyProjects\NewWS\WinMain.cpp(235) : error C2664: 'wcscpy' : cannot convert parameter 1 from 'char [32]' to 'unsigned short *'
0
2 / 3 / 0
Регистрация: 20.09.2009
Сообщений: 101
07.03.2012, 20:11
незнаю у меня работает в многобайтовой кодировке так

C++
1
2
3
4
5
6
7
8
9
10
LPD3DXFONT g_pFont;
LOGFONT lf;
 
ZeroMemory(&lf,sizeof(LOGFONT));
strcpy(lf.lfFaceName,"Arial");
lf.lfHeight = -16;
D3DXCreateFontIndirect(g_pD3DDevice,&lf,&g_pFont);
RECT rct = {X,Y,Width,Height};
 
g_pFont->DrawText("Hello world",-1,&rct,NULL,D3DCOLOR_ARGB(255,255,255,255));
0
AntonS009
27.03.2012, 15:00
Вчера занимался как раз этим примром из книги. Ввел текст так: lf.lfFaceName[0] = 'A'; и т. дале. Компилятор проглотил. Но возникла другая проблема. В функции pD3DXFont-DrawText пишет , что первый параметр указатель на ID3DXSprite . Не понимаю, откуда взялся этот параметр.
Поругался компилятор и на структуру (LOGFONT lf; //структура)
Компилятор попросил разуть глаза и отослал к файлу с описанием ID3DXFont.
Там совершенно другое название , но смысл тот же. В том же файле описание метода DrawText .
Ну я все переделал , а результат как всегда.
g_pD3DDevice = ранее инициализированный объект устройства
ID3DXSprite *pSprite = NULL;
Пытаюсь создать ID3DXSprite .
if(FAILED(D3DXCreateSprite(g_pD3DDevice, &pSprite))) {
// Произошла ошибка
Компилятор все нормально компилирует , но результат работы функции =FAILED;
Упорно не хочет компьютер работать со спрайтами.
Объясните пожалуста , с чем это связанно.
Примеры упорно не хотят работать.
Автор использует DirectX 9.

Такая же ситуация и с DirectDraw7
Малопонятная ошибка:
DirectDraw.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7
Debug/Direct.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Но просто DirectDraw без семерки работает.
Но при этом VC++ по просьбе найти определение _IID_IDirectDraw7 - находит без проблем.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2012, 15:00
Помогаю со студенческими работами здесь

error C2664
Помогите пожалуйста исправить ошибку : ошибка: Ошибка 1 error C2664: void ATL::CStringT<BaseType,StringTraits>::Format(const...

error C2664
ошибка: error C2664: 'strcmp' : cannot convert parameter 1 from 'int' to 'const char *' вот к этому коду: case '3': // Поиск...

Error C2664
temp = (char *) malloc(len); memcpy(work_key, guesskey, sizeof(work_key)); strncpy(temp, buf, len); memset(&current, 0,...

error c2664
Вообщем у меня приложение управляемое событиями си++, одна единственная ошибка. компилятор пишет про эту строчку ...

Error C2664 - C++
Помогите исправить ошибку: Что нужно сделать с этой строкой? System::Windows::Forms::RichTextBox^ richTextBox1 ScrollBars =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru