Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.078 c
4-1133766431
alex_1234
2005-12-05 10:07
2006.02.19
"Обрыв" модема ???


10-1113923505
Kerk
2005-04-19 19:11
2006.02.19
How Child IDs Are Used in Parameters


2-1138719643
Trilon1
2006-01-31 18:00
2006.02.19
Сортировка DBGrid


2-1138099753
Змей
2006-01-24 13:49
2006.02.19
регулировка звука(только не баньте тему плз)


2-1138351597
СержК
2006-01-27 11:46
2006.02.19
Как грамотно остановить, убить поток