Arabirim ve DirectX adlı bu şey ile yeni yaşıyorum. Belirli bir oyundan bir DirectX Arayüzü kullanıyorum ve Dokular ve Yazı Tipleri gibi Kendi Nesnemi Çizmek için DirectX'i kullanıyorum. Sorunum şudur: Program Cihazın Kancalı Sıfırlama İşlevi'ni çağırdığında, tüm şeyleri bellekten, Com Arabirimleri'nden temizlemem gerekir. Temizlemediyse, Sıfırlama olayı çağrıldıktan sonra, Oyun sadece d3dDierctx9Create'ı çağırmak için yeni bir yüzey oluşturun ve başarısız olun ve sadece bir hata yapın ve oyunu kapatın.Arabirim nasıl serbestlenir?
Sadece Sıfırlama Olayı'ndan önce tüm şeyleri temizlemem gerektiğini düşünüyorum, onun Msdn.
Bu nedenle directx kaynakları ile, destekledikleri takdirde genellikle 'onResetDevice' olarak adlandırırsınız veya bunları yeniden oluşturur ve Delphi değişkenine yeniden atayabilirsiniz. Mason, orijinal kaynağı otomatik olarak serbest bırakacak, tıpkı kaynağın serbest kalmasını engelleyeceğinden (yani, referenceCount> 0), başka bir değişkenin kaynağını bir yerde tutmamak için gerçekten dikkatli olmalısınız. Genellikle kaynağı yöneten bir çeşit sarıcı nesneler kullanarak bunu biraz daha kolaylaştırır. –