Главная страница
    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.01 c
7-8703
bloodman
2003-08-25 15:31
2003.11.03
Выключение монитора


1-8402
Марат
2003-10-22 15:46
2003.11.03
Amoeba


1-8372
DimaK
2003-10-21 23:42
2003.11.03
MainMenu


4-8743
andre
2003-08-29 03:21
2003.11.03
А втозагрузка


3-8258
Dripus
2003-10-14 13:22
2003.11.03
Drag&Drop из DBGrid в другой DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский