Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблемы с DirectInput + VS 6.0 и собственными модулями(ООП) [MSVS 6.0, Windows]


Мелкий ©   (2005-07-22 09:00:00) 

Заранее дико извиняюсь за перенаправление, но в противном случае очень много писать бы пришлось, а там уже всё написано!
 
http://forums.realcoding.net/index.php?s=bd94b16e1b8dcfe6c13984865977066a&showtopic=9359
 Заранее признателен за понимание!


Мелкий   (2005-07-26 11:56:00) [1]


> ViK ©   (23.07.05 19:37) [7]


Ну, спорить не буду, возможно оно действительно так, однако от своего мнения я тоже не отказываюсь!


ViK   (2005-07-23 19:37:00) [2]


> Мелкий

DirectInput я не использовал, но думаю что насчет скорости ты ошибаешься. Мне кажется, что реально его можно использовать только ради джостика.


Мелкий   (2005-07-22 22:01:00) [3]


> XProger ©   (22.07.05 12:44) [5]
> Писал как-то под DX 6 :)
>
> var
> DInput : IDirectInput;
> ...
> procedure Init;
> begin
> input_initialized := DirectInputCreate(hinstance,
>                        DIRECTINPUT_VERSION,
>                        DInput,
>                        nil) = DI_OK;
> ...
>
> И всё работало вроде...


Я впринципе тоже самое делаю. Но всё равно, спасибо большое за помощь!


> P.S.
> В чём причина данного предпочтения?


Имеется в виду DirectInput? Да скорость обработки повыше и универсальнее. Конечно это субъективное мнение но в моём выборе я далеко не одинок :>!


XProger   (2005-07-22 12:44:00) [4]

Писал как-то под DX 6 :)

var
DInput : IDirectInput;
...
procedure Init;
begin
input_initialized := DirectInputCreate(hinstance,
                       DIRECTINPUT_VERSION,
                       DInput,
                       nil) = DI_OK;
...

И всё работало вроде...

P.S.
В чём причина данного предпочтения?


Мелкий   (2005-07-22 11:21:00) [5]


> XProger ©   (22.07.05 11:05) [3]

Ну, конечно, такой путь имеет право на существование, но я предпочитаю DirectInput.

Я чуть-чуть подумал и понял как debug-ить проекты на MS VS6.0. После этого открытия я обнаружил следующую ошибку в моей программе: в модуле Core_Input.cpp в функции

BOOL cInput::Init(HWND hWnd, HINSTANCE hInst)

На строчках

// Create a DirectInput interface
hr = DirectInput8Create(hInst, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&m_pDI, NULL);
if(FAILED(hr))
 return FALSE;

значение hr равно 0x80070057, на что ErrorLookUp отвечает: «Параметр задан неверно.»!
Опять неверный параметр! Уже ведь была эта ошибка! Значит проблема именно в этом! Попробуйте, пожалуйста пример на своих машинах (можно найти в форуме по ссылке в посте выше)! У меня ведь раньше работало всё до тех пор, пока я не использовал Core_System.cpp. Почему так происходит при попытке структурировать проект (разбить на функциональные модули)?
Спасайте меня, пожалуйста!


XProger   (2005-07-22 11:05:00) [6]

> (А как без него то)?
А вот так:

var
Key : array [0..255] of boolean;
...
WM_KEYDOWN : Key[wParam] := true;
WM_KEYUP   : Key[wParam] := false;
...
if Key[VK_RETURN] then Move;


Мелкий   (2005-07-22 10:45:00) [7]


> Вы название данного форума читали? Поясняю: "Мастера Delphi"!

Читал, но даже в форме указан Builder и окошко "прочее".

> P.P.S.
> А DInput реально нужен? ;)

О да! Очень реально 8-)! (А как без него то)?


XProger   (2005-07-22 10:30:00) [8]

Вы название данного форума читали? Поясняю: "Мастера Delphi"!
У тебя проблема не с DInput, а со знанием C++ скорее всего.

P.S.
Пройдись Debug'ером по коду.
P.P.S.
А DInput реально нужен? ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо