Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Про DIKeyboard.SetDataFormat   Найти похожие ветки 

 
reticon ©   (2005-03-21 12:45) [0]

Ситуация такая. Есть две машины, 2000 и ХР, на обоих установлен D6.
На первой, конструкция вида hRet := DIKeyboard.SetDataFormat(c_dfDIKeyboard) не вызывает никаких проблем,
на второй же - [Error] eu_DInput.pas(121): Constant object cannot be passed as var parameter.
Заголовочники используются dx8. На обеих машинах установлен DX9.

Что етнто такое, кто объяснит?


 
Sphinx ©   (2005-03-21 13:10) [1]

Настройки у обеих Делфи проверь...
тебе же говорят что передавать константу как переменную величину нельзя, а это лишь от твоего кода зависит...ну, и не знаю насколько верно, но в настройках Делфи есть такая галочка "Разрешать изменяемые константы" вот её и посмотри...а лучше код исправь...


 
reticon ©   (2005-03-21 17:50) [2]

to Sphinx

не то...


 
Sphinx ©   (2005-03-21 18:10) [3]

Тогда такие варианты...подсунь заголовочный файл от DX9, всё равно там DI8 используется и изменений практически нет. Или посмотри как в заголовочном файле объявлен вызов этой функции, может там var стоит, тогда понятно почему ошибка, но не понятно почему только на одной машине.


 
NailMan ©   (2005-03-21 20:55) [4]

делай не так, а так:

var c:TDIDataFormat;

...
c:=c_dfDIKeyboard;
hRet := DIKeyboard.SetDataFormat(c);

тогда будет работать точно

ЗЫ: в свое время я с этим тоже говна наелся ;-)

---
P.L.U.R. and WBR, NailMan aka 2:5020/3337.13


 
Sphinx ©   (2005-03-21 22:27) [5]

> NailMan ©   (21.03.05 20:55) [4]

Прикол в том что у меня тоже такое было, но с заголовками от DX9.0 (сейчас они уже DX9.1 кажется) и решалось всё заменой в заголовочном файле var на const в описании вызова какой-то процедуры, но не DInput это был...я сперва и забыл про это...


 
reticon ©   (2005-03-22 00:54) [6]

Sphinx ©   (21.03.05 18:10) [3]
c_dfDIKeyboard во всех заголовочниках объявлен как const.

NailMan ©   (21.03.05 20:55) [4]
есесно, так работает :-)

завтра проверю, скорее всего что-то с той машиной, так как там еще эррор есть, которого нет у меня. что-то касательно HWND и top-level window :-)


 
Sphinx ©   (2005-03-22 09:05) [7]

я говорил вот про это:
function SetDataFormat(const lpdf: TDIDataFormat): HResult; stdcall;
проверь чтобы вместо const не было написано var.



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

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
1-1117866831
аматор
2005-06-04 10:33
2005.06.29
редактор


4-1115558084
BVV
2005-05-08 17:14
2005.06.29
EnableMenuItem


1-1118249091
terra0
2005-06-08 20:44
2005.06.29
Динамические массивы


1-1118069208
Эдик Дятлов
2005-06-06 18:46
2005.06.29
Сохранить запись, содержащую динамический массив, в файл


14-1118015831
KilkennyCat
2005-06-06 03:57
2005.06.29
Музыка на форуме популярнее машины Поста. Внесу и я свою лепту.