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

TFastDIB и DirectX   Найти похожие ветки 

 
Programmer_SC   (2003-09-18 19:18) [0]

Hi to all. Есть такая проблема пишу двиган без VCL с DirectX и FastLib. Так вот:

uses
Windows, messages,DirectDraw,fastdib;

Var
...
bmp : TFastDIB;
DC : HDC;
...

Begin
//Инициализация окна и DirectX
SecondarySurface.GetDC(DC);
bmp := TFastDIB.Create;
bmp.LoadFromFile("bmpшка");
bmp.Draw(DC,0,0);
BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);
bmp.Free; //Удаляем bmp
SecondarySurface.ReleaseDC(DC);//Необходимо удалить DC
...
//translatemessage,dispatchmessage
...
End;

Прога намертво виснет. Если убрать bmp.LoadFromFile то все норм. работает. Прога полноэкранная, путь к бмп правильный(юзал TBitMap все работает), заголовки DirectX от Jedi, FastDIB нормальный(примеры к нему идут без проблем). Ну и как это лечить?(TBitMap не предлагать, просто хочется разобраться с FastLib)


 
Sapersky ©   (2003-09-18 21:31) [1]

bmp.Draw(DC,0,0);
BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);


Зачем два раза рисовать одно и то же?
Чтобы не висло - вынести LoadFromFile перед GetDC (GetDC - это фактически Lock, и чем меньше поверхность будет в таком состоянии, тем лучше), проверять взаимные размеры поверхности и FDIB (хотя по идее GDI должен отсечь всё что не влезает).


 
Programmer_SC   (2003-09-18 22:03) [2]

>bmp.Draw(DC,0,0);
>BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);
>Зачем два раза рисовать одно и то же?
это глюки у меня(т.е. в коде нормально стоит)

Вынес... не работает, в общем то генериться Error215(переполнение) видимо в LoadFromFile... пробовал уменьшить бмп, даже 10 килов не берет. Нифига не понимаю....


 
Programmer_SC   (2003-09-18 22:18) [3]

Все исправил... Проблема была в LoadFromFile
Sapersky спасибо за инфу!!!



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

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



Память: 0.45 MB
Время: 0.015 c
1-63157
афвуд
2004-01-06 18:51
2004.01.20
TNotifyEvent


14-63391
Undert
2003-12-28 17:07
2004.01.20
Max Payne 1


14-63294
Rauf
2003-12-31 20:47
2004.01.20
(СРОЧНО) В Харьков звонить так: 38 (Украина) 0572 (Харьков)???


14-63301
Stas
2003-12-27 12:39
2004.01.20
Power Builder


1-63211
Creator
2004-01-10 18:05
2004.01.20
как послать письмо ??? которое 100% дойдет !!!




   Наверх