استثناء غير معالج DirectX11.1 تقديم رسومات ثنائية الأبعاد
سؤال
أنا أستخدم DirectX11.1 في Visual Studio 2013، قم بتطوير تطبيق Windows 8 Store.
لقد كنت أحاول بضعة أيام للحصول على رأسي حول إنشاء واجهة مستخدم ثنائية الأبعاد باستخدام DirectX، وكما اعتقدت أنني قد أكون قد حصلت عليه، فأنا قادما استثناء غير معالج لا أستطيع أن أبدو يهز.
"استثناء غير معالج في 0x002E2901 في First.exe: 0xc0000005: انتهاك الوصول لموقع القراءة 0x00000000."
تحديث: يبدو أنه بعد "d2dfactory-> createvice (dxgidevice.get ()، & dev2d)؛ DEV2D يخرج باسم NULL.
التحديث: استخدام HRESULT طريقة إنشاء الجهاز يعطي الخطأ "E_INVALIDARG".
(لقد كنت أتابع http:// msdn. microsoft.com/en-us/library/windows/apps/hh780340.aspx )
أدناه هو التعليمات البرمجية الخاصة بي من ملف الرأس و .cpp. لم أدرج أي شيء آخر في إنشاء ID2D1DEVICONECONECONEX لأن هذا هو المكان الذي ينشأ فيه الخطأ (فقط عندما أدرج ذلك فقط يحدث الاستثناء.
.h
giveacodicetagpre..cpp ملف
giveacodicetagpre.قد تكون هناك تقدير كبير أي مساعدة، وفي حالة وجود أي سبب لعرض التعليمات البرمجية التالية:
giveacodicetagpre.تحديث:
الإخراج بعد الخطأ هو: (هناك إخراج خطأ مماثل على هذا الكامنة حول contackoverflow، على الرغم من أنه يبدو غير مرتبط للغاية.
giveacodicetagpre.المحلول
تبين أنني لم أنشأ جهاز D3D11 الخاص بي لتكون متوافقا مع Direct2D.الرمز أدناه ثابته.بفضل تريليان لتصحيح الأخطاء، كان مفيدا بشكل لا يصدق.
giveacodicetagpre.