Форум: "Игры";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизУровень кооперации - глюк Найти похожие ветки
← →
Evgeniy_K (2004-07-30 20:48) [0]Вот у меня вылазит странная ошибка на:
GID.SetCooperativeLevel(WindowH, DDSCL_FULLSCREEN or DDSCL_EXCLUSIVE);
При этом если делать оконный режим, то все прекрасно работает.
Текст ошибки:
Exception EAccessViolation in module xxx.exe at 00021B6E
Access violation at address 00021B6E in module "xxx.exe". Read address FFFFFFFF
При этом главный интерфейс (GID) точно создан и работает стабильно. WindowH - точно правильное.
← →
cyborg © (2004-07-30 21:01) [1]Огласите весь список пожалуйста!
← →
parovoZZ © (2004-07-30 21:46) [2]А GID := nil в начале инициализации не помогает?
Тогда код в студию. Мне тоже интересно.
← →
Evgeniy_K (2004-07-30 22:15) [3]
GID:= nil
итак есть.
...
DDEngine.EActive:= False;
AddLog("InitEngine started.");
...
GID:= nil;
GSurface:= nil;
BackSurface:= nil;
...
ScreenWidth:= 800;
ScreenHeight:= 600;
ScreenBitDepth:= 16;
...
SpyError(
DirectDrawCreateEx(nil, GID, IDirectDraw7, nil),
"DirectDrawCreateEx");
...
if Windowed then begin
...
SpyError(
GID.SetCooperativeLevel(WindowH, DDSCL_NORMAL),
"SetCooperativeLevel");
...
else begin
//CORRECT DDRAW.DLL EXCEPTION!!!
SpyError(
GID.SetCooperativeLevel(WindowH, DDSCL_FULLSCREEN or DDSCL_EXCLUSIVE),
"SetCooperativeLevel");
SpyError(
GID.SetDisplayMode (ScreenWidth, ScreenHeight, ScreenBitDepth, 0, 0),
"SetDisplayMode");
ZeroMemory(@ddsd, SizeOf(ddsd));
with ddsd do begin
dwSize:= SizeOf(ddsd);
dwFlags:= DDSD_CAPS or DDSD_BACKBUFFERCOUNT;
dwBackBufferCount:= 1;
ddsCaps.dwCaps:= DDSCAPS_PRIMARYSURFACE or DDSCAPS_FLIP or DDSCAPS_COMPLEX;
end;
...
SpyError - выводит сообщение об ошибке.
← →
MrAngel (2004-07-31 11:44) [4]А может ошибка в самом SpyError? Попробуй в ошибочной строке убрать ету функцию (SpyError).
← →
Evgeniy_K (2004-07-31 11:54) [5]Нет, проверял.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.032 c