![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Здравствуйте!
Сегодня весь вечер сидел, переводил функцию с си на делфи. Так и не понял несколько сишных замудреных конструкций. Помогите пожалуста. Код СИ: Код:
Код:
1. DDirect3DCreate9: DIRECT3DCREATE9; [dcc32 Error] Project1.dpr(124): E2007 Constant or type identifier expected 2.d3d.CreateDevice(0, D3DDEVTYPE_HAL, Wnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING , @d3dpp, @d3dDevice); Курсор на @d3dDevice. [dcc32 Error] Project1.dpr(138): E2033 Types of actual and formal var parameters must be identical 3.present9 := vtablePtr[17] - DWORD(hD3D9); курсов на 17. [dcc32 Error] Project1.dpr(140): E2016 Array type required 4.d3dDevice.Release(); [dcc32 Error] Project1.dpr(141): E2003 Undeclared identifier: 'Release' 5.d3d.release(); [dcc32 Error] Project1.dpr(142): E2003 Undeclared identifier: 'release' Подправьте пожалуста. Я уже не знаю что его не устраивает -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
Ваш код использует DX9. Ищите DirectX 9 для Delphi соответственно. |
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
Забыл перевести
Direct3DCreate9 = (DIRECT3DCREATE9)GetProcAddress(hD3 D9, "Direct3DCreate9"); Код:
Не стесняемся, плюсуем!
![]() |
![]() |
![]() |
![]() |
#4 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Спасибо!
А что с остальным??? -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
d3dDevice: IDirect3DDevice9; ^убрать
это вообще бред: vtablePtr:= DWORD(d3dDevice); present9 := vtablePtr[17] - DWORD(hD3D9); презент есть тут d3dDevice.Present
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 14.08.2013 в 15:10. |
![]() |
![]() |
![]() |
#7 | |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]() Цитата:
Здесь видео, где работает эта функия Как то это переводится. Помогите пожалуста -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
|
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
как ни странно так тоже никто не делает, но ведь работает!!!
Код:
можно попробовать что нибудь типа integer(pointer(d3dDevice.Present))
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 14.08.2013 в 21:38. |
![]() |
![]() |
![]() |
#9 |
Дружелюбный
Форумчанин
Регистрация: 23.02.2012
Сообщений: 692
|
![]()
Ясно!
![]() Ладно, спасибо за помощь!!! ![]() -==ЛЮБОЕ ЗНАНИЕ ДОСТИГАЕТСЯ ТОЛЬКО СОБСТВЕННЫМИ УСИЛИЯМИ!!!==-
|
![]() |
![]() |