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

Вниз

Вызов _Release   Найти похожие ветки 

 
XProger ©   (2006-07-21 20:54) [0]

Сегодня столкнулся с проблемой.
Приложение использует несколько интерфейсов, которые при выходе сами уничтожаются, причём важен порядок их уничтожения (интерфейсы жёстко связаны)
В Delphi 7 уничтожение происходит в порядке объявления переменных начиная с последнего, в BDS начиная с первого.
В итоге проблема была решена так:
var
{$IF RTLVersion > 15.0}
 snd : ISound;
 inp : IInput;
 vfp : IShader;
 tex : ITexture;
 ogl : IOpenGL;
 wnd : IWindow;
 eX  : IEngine;
 vec : IVector;
 log : ILog;
{$ELSE}
 log : ILog;
 vec : IVector;
 eX  : IEngine;
 wnd : IWindow;
 ogl : IOpenGL;
 tex : ITexture;
 vfp : IShader;
 inp : IInput;
 snd : ISound;
{$IFEND}
Возможно код будет некорректен для других версий Delphi (нет возможности протестировать)
Существуют ли другие решения? Кто-нибудь сталкивался с подобными проблемами в BDS 2006?
Не хочется натыкаться на подобные подводные камни... :)


 
isasa ©   (2006-07-22 10:51) [1]

А, гарантированно, ручками, в нужном порядке ?
myIntf:=nil;


 
XProger ©   (2006-07-22 13:03) [2]

isasa, спасибо! Вечно я себе проблемы создаю... :)



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
15-1232663571
Германн
2009-01-23 01:32
2009.03.29
Ну вот ещё один продукт наших студентов.


9-1177753114
pavel_guzhanov
2007-04-28 13:38
2009.03.29
Стоит ли читать книгу Краснова


15-1232265533
{RASkov}
2009-01-18 10:58
2009.03.29
Возможности вирусов заражать из сети


2-1233557503
Mops
2009-02-02 09:51
2009.03.29
определение variant


6-1196111615
Lamer666
2007-11-27 00:13
2009.03.29
TWebBrowser и предупреждения системы безопастности??