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

Вниз

убийство спрайтов   Найти похожие ветки 

 
KiberKot ©   (2006-03-27 16:03) [0]

При закрытии приложения возникает ошибка
Access violation at address 04059a4 in module "Progect1.exe". Read of address 00000008

Ошибка возникает при очистке спрайтов
в этом коде:

 if Assigned(FDD) then begin
     if Assigned(FDDPal) then FDDPal := nil;
     for i := 0 to NumSprites - 1 do begin
         if Assigned(spr [i].FSpriteSurface) then begin
            spr [i].FSpriteSurface._Release ;
            spr [i].FSpriteSurface := nil;
         end;
     spr [i]:=nil;
     end;

При удалении Release возникает еще одна ошибка


 
XProger ©   (2006-03-27 17:02) [1]

В Delphi интерфейсы сами себя уничтожают при необходимости :) Так что, _Release вызывать не надо.
Ошибка возможно не здесь, а при отрисовке или других операциях, в которых не проверяется возможность spr[i] = nil. AV вылетает где угодно и когда угодно, что делает её поиск задачей не из лёгких...


 
Darthman ©   (2006-03-27 18:00) [2]

spr [i].FSpriteSurface._Release ;
spr [i].FSpriteSurface := nil;

Одно из этих действий лишнее. А именно _Release.


 
OSokin ©   (2006-03-31 18:25) [3]

Наверное просто спрайты уничтожаются, а ссылки на них остаются. Проверь.



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

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

Наверх




Память: 0.47 MB
Время: 0.05 c
15-1170012281
hmmm
2007-01-28 22:24
2007.02.18
http://www.ndw.ru/services/hosting.html


15-1169523391
Slider007
2007-01-23 06:36
2007.02.18
С днем рождения ! 23 января


15-1169798133
leonidus
2007-01-26 10:55
2007.02.18
Помогите установить в D7 компонент EmbeddedWB


4-1160023000
MN
2006-10-05 08:36
2007.02.18
Хинт наподобие "Обнаружено новое устройство" для программы в трее


15-1169742840
apak
2007-01-25 19:34
2007.02.18
А что будет если