Форум: "Игры";
Текущий архив: 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.009 c