Bagikan melalui


D1234: Sikat Sumber Daya Null

Kuas bitmap atau kuas gambar tidak dapat digunakan untuk menggambar ketika bitmap/gambar terkait diatur ke NULL.

 

Kemungkinan Penyebabnya

Aplikasi ini mencoba merender primitif menggunakan ID2D1BitmapBrush atau ID2D1ImageBrush yang bitmap atau gambarnya NULL.

Kemungkinan Perbaikan

Pastikan bitmap atau kuas gambar memiliki bitmap atau gambar yang valid yang ditetapkan kepada mereka sebelum menggunakannya. Aplikasi dapat melakukan ini pada waktu pembuatan atau setelahnya, menggunakan ID2D1BitmapBrush::SetBitmap atau ID2D1ImageBrush::SetImage. Direct2D memungkinkan sumber daya sikat NULL sehingga aplikasi mungkin memiliki kebebasan untuk melepaskan sumber daya kuas setelah menggunakannya untuk dirender. Aplikasi dapat memilih untuk melakukan ini jika bitmap atau sumber daya gambar sangat mahal, dan skenario menuntutnya untuk segera dikosongkan. Mengatur sumber daya kuas ke NULL mencegah Direct2D menjaga referensi yang luar biasa padanya. Namun, jika aplikasi menetapkan sumber daya kuas ke NULL, aplikasi tidak boleh mencoba menggunakan kuas sampai sumber daya baru yang valid ditetapkan untuknya.