Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: CL | DM;

Вниз

Проблема с овобождением интерфейсов в DirectShow   Найти похожие ветки 

 
AlexZav   (2002-04-25 17:39) [0]

При попытке освободить интерфейсы возникает белое окно с сообщением об ошибке в приложении. У меня стоит версия DirectShow Debug, которая тоже выдает сообщение об ошибке ("освободить интерфес не удалось"). В коде все правильно, это точно. Кстати, утилитка от DirectShow Graph Edit тоже глючит.
Если Вы с этим встречались, помогите. Заранее благодарен.


 
KilkennyCat ©   (2002-04-26 03:33) [1]

Если ошибка, значит в коде не все верно. Проверьте порядок освобождения (он должен быть обратный порядку создания).
А еще лучше, перед освобождением проверять, а нужно (можно) ли это. У меня частенько такое выскакивает, и всегда проблема в порядке.


 
AlexZav   (2002-04-26 20:28) [2]

Что значит проверять нужно (можно) ли освобождать. Как это делается ?


 
KilkennyCat ©   (2002-04-27 10:40) [3]

Объявляем:
FD3D : IDIRECT3D8;
FD3DDevice : IDIRECT3DDEVICE8;
FD3DVB : IDIRECT3DVERTEXBUFFER8;

Перед созданием (на всякий пожарный):
FD3DDevice := nil;
FD3DVB := nil;
FD3D := nil;

При завершении работы:
if Assigned (FD3DVB) then begin
FD3DVB._Release;
FD3DVB := nil;
end;
if Assigned (FD3DDevice) then begin
FD3DDevice._Release;
FD3DDevice := nil;
end;
if Assigned (FD3D) then begin
FD3D._Release;
FD3D := nil;
end;

Иногда метод _Release некорректно работает в Delphi, тогда его можно убрать, оставивив только присвоение nil.



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
4-14324
lds78
2002-07-03 10:16
2002.09.05
Аналоги IntToStr и StrToInt в WinAPI


3-13973
Викт0р
2002-08-16 15:33
2002.09.05
dBase 4


1-14018
Олеся
2002-08-26 13:28
2002.09.05
Пример из FAQ не работает (список файлов и каталогов ЭВМ)


7-14302
saf
2002-06-25 19:21
2002.09.05
Копирование проги


1-14126
Ahmad
2002-08-21 22:03
2002.09.05
Как округлать числа в Delphi?