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

Вниз

Проблемы с заголовочными файлами DirectX SDK!   Найти похожие ветки 

 
Вась-Вась   (2004-11-18 16:40) [0]

Господа мастера! Решил изучить DirectX в «чистом» виде, используя заголовочные файлы.
Но в первом же проекте при ссылке на DirectDraw.pas в нём, падла, возникли следующие ошибки:
     1.в строке "NilGUID : TGUID absolute 0;"
       выскакивает ошибка "Variable name expected".
     2.в строке и ей подобных "lpDDSZBufferDest : PDirectDrawSurface;"
       выскакивает ошибка "Type "IDirectDrawSurface" needs
       finalization - not allowed in variant record".
     3.в описании типа
          TRefGUID = packed record
            case integer of
            1: (guid : PGUID);
            2: (dwFlags : DWORD);
          end;
       выскакивает ошибка "Unsafe type "TRefGUID"".
Что это за бяка и как с ней бороться?
  Спасибо, что помогли и не послали в лес по ягоды!


 
Bryke   (2004-11-18 17:58) [1]

У меня была такая же хрень. Париться я не стал и послал DirectDraw на несколько веселых букв. Взялся за Direct3D. Двухмерную графику с помощью Direct3D ничем не сложнее реализовывать, чем с помощью DirectDraw, да и возможностей намного больше.


 
Pavia ©   (2004-11-18 18:19) [2]

Попробуй найти нормальный фаил.Или поставь другую версию delphi.
1 тут легко
NilGUID :TGUID= "{00000000-0000-0000-0000-000000000000}";
2 Попробуй так
// Delphi 5 can"t handle interface in variant records
// so we have to use pointers instead (which can be type-casted into interfaces):

{$IFDEF VER130}
 PDirectDrawSurface = Pointer;              
{$ELSE}
{$IFDEF VER140}                // D6, TP 14
 PDirectDrawSurface = Pointer;
{$ELSE}
 PDirectDrawSurface = IDirectDrawSurface;
{$ENDIF}
{$ENDIF}
3 Даже не знаю.


 
Вась-Вась   (2004-11-18 21:47) [3]

>Pavia ©   (18.11.04 18:19) [2]
>Попробуй найти нормальный фаил.Или поставь другую версию delphi.
А у меня и так 7-я стоит.
По поводу первого вопроса:
>NilGUID :TGUID= "{00000000-0000-0000-0000-000000000000}";
всё хорошо, проглатывает, а вот что касается второго вопроса, то такие строки у меня в модуле уже написаны, но не помогает! А у тебя с такими строчками работает? Может, скинешь на мыло свой DirectDraw.pas? Я буду долго благодарить!
мыло: warrior1987@mail.ru


 
Sphinx   (2004-11-19 09:08) [4]

>      2.в строке и ей подобных "lpDDSZBufferDest : PDirectDrawSurface;"
>        выскакивает ошибка "Type "IDirectDrawSurface" needs
>        finalization - not allowed in variant record".

Была такая же фигня к заголовками от DX8 под Delphi7, скачал заголовки от DX9 проблема изчезла. Объяснить не могу, просто излагаю факт :)



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

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

Наверх




Память: 0.45 MB
Время: 0.033 c
6-1100266424
Ирина
2004-11-12 16:33
2005.02.20
ftp-сервер


1-1107727510
Raider
2005-02-07 01:05
2005.02.20
Как сделать так


4-1105175931
Федюлин Григорий
2005-01-08 12:18
2005.02.20
Сообщения о memory


14-1106557618
Nikolay M.
2005-01-24 12:06
2005.02.20
Интересный вид мошенничества


4-1104957562
dms_main
2005-01-05 23:39
2005.02.20
ClipBoard





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский