Вниз
Скачать: CL | DM;

Установка GDIplus под D2005 - проблемы.   Найти похожие ветки 

← →
Andy BitOff ©   (2006-01-26 18:50) [0]

Кто-нибудь ставил сабж? Проблемы возникали? У меня при установке выдает:
[Error] DirectDraw.pas(358): E2154 Type "IDirectDrawSurface" needs finalization - not allowed in variant record

на строках выделенных жирным.
   case Integer of
   0: (
     dwZDestConst                : DWORD      // Constant to use as Z buffer for dest
    );
   1: (
     lpDDSZBufferDest            : PDirectDrawSurface; // Surface to use as Z buffer for dest
     dwZSrcConstBitDepth         : DWORD;     // Bit depth used to specify Z constant for source
     case integer of
     0: (
       dwZSrcConst               : DWORD;     // Constant to use as Z buffer for src
      );
     1: (
       lpDDSZBufferSrc           : PDirectDrawSurface; // Surface to use as Z buffer for src
       dwAlphaEdgeBlendBitDepth  : DWORD;     // Bit depth used to specify constant for alpha edge blend
       dwAlphaEdgeBlend          : DWORD;     // Alpha for edge blending
       dwReserved                : DWORD;
       dwAlphaDestConstBitDepth  : DWORD;     // Bit depth used to specify alpha constant for destination
       case integer of
       0: (
         dwAlphaDestConst        : DWORD;     // Constant to use as Alpha Channel
        );
       1: (
         lpDDSAlphaDest          : PDirectDrawSurface; // Surface to use as Alpha Channel
         dwAlphaSrcConstBitDepth : DWORD;     // Bit depth used to specify alpha constant for source
         case integer of
         0: (


Ну и так далее на всех строках "lpDDSAlphaSrc: PDirectDrawSurface;"
Как решить проблему?


← →
Andy BitOff ©   (2006-01-26 18:53) [1]

На всех строках с "PDirectDrawSurface"


← →
Суслик ©   (2006-01-26 18:57) [2]

PDirectDrawSurface что это ?
PDirectDrawSurface = ^IDirectDrawSurface?

Если да, то может и баг, вроде должно нормально компилиться.


← →
Andy BitOff ©   (2006-01-26 19:06) [3]


{$IFDEF COMPILER5_UP}
 PDirectDrawSurface = Pointer;
{$ELSE}
 PDirectDrawSurface = IDirectDrawSurface;
{$ENDIF}



 IDirectDrawSurface = interface(IUnknown)
   ["{6C14DB81-A733-11CE-A521-0020AF0BE560}"]
   (*** IDirectDrawSurface methods ***)
   function AddAttachedSurface(lpDDSAttachedSurface: IDirectDrawSurface) :
       HResult; stdcall;
 ...


← →
Игорь Шевченко ©   (2006-01-26 19:10) [4]


> {$IFDEF COMPILER5_UP}


Ну вот и посмотри, как устанавливается этот символ. Наверняка они там версию для 2005 не вставили. Потому что 2005 выше (UP) чем 5


← →
Суслик ©   (2006-01-26 19:10) [5]

у тебя тот какой тип?
compilers5_up установлен?

т.е. какой в твоем случае реальный тип PDirectDrawSurface?


← →
Lamer@fools.ua ©   (2006-01-26 19:11) [6]

>{$IFDEF COMPILER5_UP}

Мне кажется, проблема в некорректном определении версии Delphi.


← →
Andy BitOff ©   (2006-01-26 20:01) [7]

Игорь Шевченко ©   (26.01.06 19:10) [4]

А где посмотреть как установлен и установлен ли вообще COMPILER5_UP?

При явном указании "PDirectDrawSurface = Pointer;" ставится нормально и проекты использующие GDI+ работают.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1138936625
Silver__Dragon
2006-02-03 06:17
2006.02.19
разделение звука на потоки


6-1131453071
Hereticsoul
2005-11-08 15:31
2006.02.19
TIdTcpServer,TIdTcpClient


11-1112893795
Димитрий
2005-04-07 21:09
2006.02.19
Ошибка компиляции модуля kol.pas


4-1133630611
Bolek
2005-12-03 20:23
2006.02.19
работа со службой


2-1138685327
Аноним
2006-01-31 08:28
2006.02.19
удалить запись из ListBox




   Наверх