如何释放界面?

时间:2010-10-30 22:05:42

标签: delphi

我是这个名为interface和DirectX的新东西。 我正在从某个游戏中挂钩一个DirectX界面,我正在使用DirectX绘制自己的东西,比如纹理和字体。 我的问题是:当程序调用设备的Hooked Reset Function时,我需要清除内存中的所有东西,Com Interface。如果我不清楚,在调用Reset事件后,游戏只是尝试创建一个新的表面调用d3dDierctx9Create,但它失败了,只是出错并关闭游戏。

我认为我只需要在重置事件之前清除所有内容,它将在Msdn上解释。

1 个答案:

答案 0 :(得分:19)

您没有释放界面。它是由编译器引用计数和管理的。让它超出范围,为变量分配不同的接口,或者为其指定 nil ,编译器将自动生成对其_Release方法的调用,以便它可以自我清理当其引用计数降至0时。