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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
4-63456
DillerXX
2003-11-16 20:55
2004.01.20
кнопка


14-63331
Juster~~
2003-12-30 07:51
2004.01.20
Как спустить на землю?


1-63071
MetalFan
2004-01-08 18:47
2004.01.20
(StringGrid) отловить...


14-63343
_none_
2003-12-30 12:40
2004.01.20
можете ли вы на новый год не пить?


3-63041
gleb
2003-12-22 08:49
2004.01.20
DBGRID