Вниз
Скачать: 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-63243
Iceburger
2004-01-09 09:47
2004.01.20
MDI-приложения


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


3-62972
NickNaz
2003-12-23 12:49
2004.01.20
Столбец DbGrid


14-63340
N169
2003-12-30 11:26
2004.01.20
Японский день (LOL)


1-63234
Great Ka
2004-01-09 12:50
2004.01.20
Поддержка языков




   Наверх