Главная страница
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.026 c
3-62961
Fishka
2003-12-24 18:57
2004.01.20
Метка в запросе


1-63210
PaleoZ
2004-01-08 18:28
2004.01.20
Вызов процедур несуществующих компонентов


1-63135
Ландграф Павел
2004-01-06 21:03
2004.01.20
Регистрация dll/ocx без REGSVR32.EXE


14-63320
Nous Mellon
2003-12-30 19:14
2004.01.20
Софт для мобильных телефонов


1-63201
ИМХО
2004-01-10 05:09
2004.01.20
Системы счисления