Вниз
Скачать: 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.03 c
15-1138635487
Вованчик
2006-01-30 18:38
2006.02.19
Кодировка (кодовая сираница) и *.dbf ?


3-1134919989
Express
2005-12-18 18:33
2006.02.19
Обязательное поле....


2-1138951753
dera
2006-02-03 10:29
2006.02.19
Что неправильно в запросе?


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


1-1137595538
Maverick
2006-01-18 17:45
2006.02.19
MainMenu + Icon + MDI




   Наверх