Главная страница
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.48 MB
Время: 0.025 c
3-1106415836
Mortal
2005-01-22 20:43
2005.02.20
Вопрос про Rave Reports


1-1107328546
Jay1982
2005-02-02 10:15
2005.02.20
HotKey in CONSOLE


1-1107343940
Neznaika
2005-02-02 14:32
2005.02.20
Z-последовательность


14-1106211382
DelphiNew
2005-01-20 11:56
2005.02.20
Изгиб гитары жёлтой


1-1107509966
e-statik
2005-02-04 12:39
2005.02.20
А не подскажете, что это за компонет такой?