![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с 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 реально нужен? ;)