2014-10-23 8 views
7

मैं सिल्वरलाइट 5 के साथ एक 3 डी एप्लिकेशन बना रहा हूं। मेरे पास एक ड्रॉइंगसुरफेस है जो एक विधि कहता है। हालांकि, जब मैं एक नेविगेशन जोड़ता हूं: मेरे एक्सएएमएल में फ़्रेम, तो मुझे एक त्रुटि फेंक दी जाती है।नेविगेशन जोड़ना: फ्रेम कारण NullReferenceException

private void DrawingSurface_Draw(object sender, DrawEventArgs e) 
{ 

    GraphicsDevice device = GraphicsDeviceManager.Current.GraphicsDevice; 

    device.Clear(ClearOptions.Target | ClearOptions.DepthBuffer, 
       new Microsoft.Xna.Framework.Color(0, 0, 0, 0), 10.0f, 0); 

    device.SetVertexBuffer(_vertexBuffer); 
    device.SetVertexShader(_vertexShader); 
    device.SetPixelShader(_pixelShader); 
    device.Textures[0] = _texture; 

    device.SamplerStates[0] = SamplerState.LinearClamp; 
    device.DrawPrimitives(PrimitiveType.TriangleList, 0, 
          _vertexBuffer.VertexCount/3); 
    device.SetVertexShaderConstantFloat4(0, ref _viewProjection); 

    e.InvalidateSurface(); 

} 

त्रुटि लाइन device.DrawPrimitives(PrimitiveType.TriangleList, 0, _vertexBuffer.VertexCount/3); पर है:

यहाँ प्रश्न में विधि है। त्रुटि यह है कि "उपयोगकर्ता कोड द्वारा NullReferenceException को अनचाहे किया गया था।" यह नेविगेशन के बिना नहीं होता है: फ़्रेम।

+1

मैं इससे परिचित नहीं हूं। लेकिन त्रुटि कहती है कि 'PrimitiveType.TriangleList' और/या '_vertexBuffer.VertexCount' शून्य हैं। हो सकता है कि वे उस समय आबादी न हों जब आप उन्हें एक्सेस करने का प्रयास करें। –

+0

संभावित डुप्लिकेट [एक NullReferenceException क्या है और मैं इसे कैसे ठीक कर सकता हूं?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) –

+0

कृपया एक स्टैक ट्रेस और किसी भी आंतरिक अपवाद प्रदान करें। – Nikhil

उत्तर

0

कोड के इस स्निपेट से हम केवल एक ही निष्कर्ष निकाल सकते हैं कि जब आप इस विधि को दर्ज करते हैं तो "vertexBuffer" खाली या शून्य होता है। वह या कुछ varaibles स्थानीय रूप से "DrawPrimitive" विधि द्वारा उपयोग किया जाता है।

मुझे नहीं पता कि यह चर कैसे आबादी है, लेकिन कुल मिलाकर यह हमेशा अच्छा या खाली नहीं है जब आप 100% सुनिश्चित नहीं हैं कि चीजें पहले से आबादी में हैं।

संबंधित मुद्दे