Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Вниз

Кто поможет? DirectInput организация управления.   Найти похожие ветки 

 
Познователь   (2003-04-22 18:54) [0]

Часто используют функции библиотеки DirectInput для организации
управления. Однако у меня проблема. Есть функция для подготовки
работы с устройством.
...
hRet := DirectInput8Create(hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, FDI, nil);
if Failed(hRet) then begin
Result := hRet;
Exit
end;

hRet := FDI.CreateDevice (GUID_SysKeyboard, DDIKeyboard, nil);
if Failed(hRet) then begin
Result := hRet;
Exit
end;

---------
Компилирую. Пишет Incompatible types: "TDIDataFormat" and "PDIDataFormat"

hRet := DDIKeyboard.SetDataFormat(c_dfDIKeyboard);
if Failed(hRet) then begin
Result := hRet;
Exit
end;
---------
hRet := DDIKeyboard.SetCooperativeLevel(Handle, DISCL_FOREGROUND or DISCL_EXCLUSIVE);
if Failed(hRet) then begin
Result := hRet;
Exit
end;

Result := DDIKeyboard.Acquire;
end;
...
Перед захватом ус-ва необходимо вызвать метод SetDataFormat объекта, связанного в ус-вом ввода. Описывается формат, в котором
вводимые данные возвращаются ус-вом. Задаем стандартный формат.

В чем же ошибка.


 
cyborg   (2003-04-22 20:33) [1]

DDIKeyboard.SetDataFormat(@c_dfDIKeyboard);


 
Познователь   (2003-04-23 13:19) [2]

cyborg
Теперь все ОК. В книге однако этого небыло, т.е. "@". Знать - хорошо, понимать вдвойне хорошо. Интересно это ошибка автора или еще почемуто? Хотя, наверно, это не ошибка.


 
k-man   (2003-04-23 15:55) [3]

К вопросу понимания:
Ну вообще я ничего не понимаю в графике, но судя по сообщению компилятора которое ты привел

> Компилирую. Пишет Incompatible types: "TDIDataFormat" and
> "PDIDataFormat"

можно сделать вывод о том что требуется указатель в качестве аргумента. Так как ID типов указателей обычно начинаются с префикса "P" - pointer, в то время как идентификаторы остальных типов данных обычно начинаются с префикса "Т"-Type.
А префикс "@" насколько я знаю в данном случае обозначает указатель на аргумент.
Хотя может я ошибаюсь...


 
cyborg   (2003-04-23 17:55) [4]

Проще говоря @ является адресом :)


 
k-man   (2003-04-23 22:39) [5]

Ну я об этом и хотел сказать только по возможности пояснив.-)


 
Shurik   (2003-04-27 03:55) [6]

@ - не адрес, а оператор взятия адреса


 
k-man   (2003-04-27 15:17) [7]


> Shurik

О таком феномене не слышал. Если быть точным
@ - операция адресации.


 
Shurik   (2003-04-28 04:09) [8]

Э-э-э... Я это и имел в виду :)


 
k-man   (2003-04-28 17:12) [9]

В общем разобрались с терминологией-)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
4-8742
arous
2003-08-30 23:55
2003.11.03
Меню


1-8345
S@shka
2003-10-23 12:15
2003.11.03
Кто нить знает компоненты работы с картинками?


1-8400
ChayNik
2003-10-22 15:52
2003.11.03
Оформление


14-8614
ИМХО
2003-10-14 11:18
2003.11.03
Светлана Владимирская


1-8489
ananimious
2003-10-23 22:00
2003.11.03
why?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский