Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Вниз

Ошибка компиляции   Найти похожие ветки 

 
Илья Щукин   (2006-07-26 12:28) [0]

Уважаемые профессионалы!

подскажите пожалуйста в чем причина ошибки компилятора -
Я пытался просто скомпилировать готовый проект, ни чего не получается. Может какая-то ошибка в самой библиотеке DirectDraw.
С DirectX всё получается.
var
NilGUID : TGUID absolute 0; // подсвечивается
затем следует это -->

[Warning] DirectDraw.pas(80): Unsafe code "(null)"
[Error] DirectDraw.pas(80): Variable name expected
[Warning] DirectDraw.pas(85): Unsafe type "TRefGUID"
[Warning] DirectDraw.pas(168): Unsafe type "TDDBltFX"
[Error] DirectDraw.pas(173): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Error] DirectDraw.pas(180): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Error] DirectDraw.pas(190): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Error] DirectDraw.pas(197): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Error] DirectDraw.pas(209): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Warning] DirectDraw.pas(475): Unsafe type "TDDPixelFormat_DX5"
[Warning] DirectDraw.pas(512): Unsafe type "TDDPixelFormat_DX6"
[Warning] DirectDraw.pas(579): Unsafe type "TDDOverlayFX"
[Error] DirectDraw.pas(590): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Error] DirectDraw.pas(592): Type "IDirectDrawSurface" needs finalization - not allowed in variant record
[Warning] DirectDraw.pas(720): Unsafe type "Pointer"
[Warning] DirectDraw.pas(732): Unsafe type "TDDSurfaceDesc_DX5"
[Warning] DirectDraw.pas(744): Unsafe type "Pointer"
[Warning] DirectDraw.pas(767): Unsafe type "TDDSurfaceDesc_DX6"
[Warning] DirectDraw.pas(779): Unsafe type "Pointer"
[Warning] DirectDraw.pas(813): Unsafe type "TDDSurfaceDesc2"
[Warning] DirectDraw.pas(825): Unsafe type "Pointer"
[Warning] DirectDraw.pas(877): Unsafe type "Pointer"
[Warning] DirectDraw.pas(879): Unsafe type "Pointer"
[Warning] DirectDraw.pas(881): Unsafe type "Pointer"
[Warning] DirectDraw.pas(883): Unsafe type "Pointer"
[Warning] DirectDraw.pas(885): Unsafe type "Pointer"
[Warning] DirectDraw.pas(907): Unsafe type "Pointer"
[Warning] DirectDraw.pas(916): Unsafe type "Pointer"
[Warning] DirectDraw.pas(919): Unsafe type "Pointer"
[Warning] DirectDraw.pas(947): Unsafe type "Pointer"
[Warning] DirectDraw.pas(956): Unsafe type "Pointer"
[Warning] DirectDraw.pas(959): Unsafe type "Pointer"
[Warning] DirectDraw.pas(989): Unsafe type "Pointer"
[Warning] DirectDraw.pas(998): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1001): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1039): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1048): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1051): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1094): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1096): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1098): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1137): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1139): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1168): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1197): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1199): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1229): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1258): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1260): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1290): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1324): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1326): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1370): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1372): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1395): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1397): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1441): Unsafe type "Pointer"
[Warning] DirectDraw.pas(1443): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4747): Unsafe type "PAnsiChar"
[Warning] DirectDraw.pas(4748): Unsafe type "PAnsiChar"
[Warning] DirectDraw.pas(4748): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4749): Unsafe type "PWideChar"
[Warning] DirectDraw.pas(4750): Unsafe type "PWideChar"
[Warning] DirectDraw.pas(4750): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4757): Unsafe type "PAnsiChar"
[Warning] DirectDraw.pas(4758): Unsafe type "PAnsiChar"
[Warning] DirectDraw.pas(4758): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4760): Unsafe type "PWideChar"
[Warning] DirectDraw.pas(4761): Unsafe type "PWideChar"
[Warning] DirectDraw.pas(4761): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4772): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4774): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4776): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4779): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4781): Unsafe type "Pointer"
[Warning] DirectDraw.pas(4783): Unsafe type "Pointer"
[Warning] DirectDraw.pas(5588): Unsafe type "Pointer"
[Warning] DirectDraw.pas(5636): Unsafe type "Pointer"
[Warning] DXCommon.pas(18): Unsafe type "PAnsiChar"
[Warning] DXCommon.pas(90): Unsafe code "@ operator"
[Warning] DXCommon.pas(93): Unsafe type "PChar"
[Warning] DXCommon.pas(96): Unsafe code "@ operator"
[Warning] DXCommon.pas(96): Unsafe code "@ operator"
[Warning] DXCommon.pas(97): Unsafe type "PChar"
[Warning] DXCommon.pas(97): Unsafe code "@ operator"
[Warning] DXCommon.pas(97): Unsafe code "@ operator"
[Warning] DXCommon.pas(112): Unsafe type "PChar"
[Warning] DXCommon.pas(127): Unsafe type "PChar"
[Fatal Error] DirectDraw.pas(5650): Could not compile used unit "DXCommon.pas"


 
Сергей М. ©   (2006-07-26 12:38) [1]


> NilGUID : TGUID absolute 0; // подсвечивается


Директива absolute требует указания следующего за ней идентификатора некоей существующей переменной, а не числовой константы.


 
RzCoDer ©   (2006-07-26 12:49) [2]

Да как Вам сказть Илья, тут вроде чуть больше одной ошибки должно быть


 
Don Nikola ©   (2006-07-26 13:38) [3]

Скорее всего программа писалась под более старую версию Delphi или вообще под FreePascal. Попробуйте посмотреть readme.txt или шапку исходника, возможно там указана требуемая версия.

>Unsafe type

Это вроде бы вообще только с 7-версии появилось. Попробуйте на 3-ке или 6-ке.


 
tButton ©   (2006-07-26 14:10) [4]

в 3й дельфе вариантов нету =)
даже в пятой нету =)
в шестой есть =)


 
Sapersky   (2006-07-26 15:59) [5]

У меня в DirectDraw.pas (от 15.09.2003) написано:

// 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}
{$IFDEF VER150}                // D7
 PDirectDrawSurface = Pointer;
{$ELSE}
 PDirectDrawSurface = IDirectDrawSurface;
{$ENDIF}
{$ENDIF}
{$ENDIF}

На самом деле вообще никакая версия Delphi не может handle interface in variant records. Т.е. следует безо всяких IFDEF написать PDirectDrawSurface = Pointer.
Если в заголовках вообще нет PDirectDrawSurface - проще скачать DirectDraw.pas поновее, на clootie.ru должно быть.


 
Don Nikola ©   (2006-07-26 17:32) [6]

2tButton:

Та шо вы говорите ;)
Может Variants только в 6-ке появились, а вот VariantRecords еще в 6-ке были, только не Delphi, а TurboPascal.


 
Sapersky   (2006-07-26 18:08) [7]

В 6-ке они вынесены в отдельный модуль Variants.pas. До этого были в system.pas - не помню с какой версии, с 3 или 4, наверное.
Но речь, действительно, не о вариантах.


 
tButton ©   (2006-07-26 23:10) [8]


> Don Nikola ©   (26.07.06 17:32) [6]

ну как бы... два года нас на ТП7 натаскивали, но видать решили в такую гадость не углублять
да и в литературе по ТП я подобной инфы я не слыхал
это если правильно угадал, когда декларация рекорда через case пишется?


 
Don Nikola ©   (2006-07-27 00:00) [9]

2tButton:
>это если правильно угадал, когда декларация рекорда через case пишется?

Ага, шестерку не нашел, на семерке проверил, все работает на ура.
Штука многим кажется не нужной, а я как-то делал свой формат файла, так проникся идеей сразу и надолго. В некоторых случаях очень удобно.


 
miek ©   (2006-07-28 09:26) [10]

Чтобы скомпилить этот модуль, нужно заменить так:

NilGUID : TGUID;// absolute 0;

и, как было сказано выше, так:

PDirectDrawSurface = Pointer;



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

Форум: "Игры";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1180010845
Цукор5
2007-05-24 16:47
2007.06.17
помогите с запросом


1-1177139483
Ламонов Олег
2007-04-21 11:11
2007.06.17
Лишняя инфа


10-1133792435
LORN
2005-12-05 17:20
2007.06.17
сохранить из olecontainer в ексел


2-1179953765
Евгений2
2007-05-24 00:56
2007.06.17
Клавиатурный перехватчик


15-1179768328
VirEx
2007-05-21 21:25
2007.06.17
хронология событий будущего, помогите придумать





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский