इस सवाल का पहले से ही एक उत्तर है: < / P>
- 2 9 उत्तर
- 12 जवाब
मेरे पास एक सवाल है मेरे कोड में कुछ गलत है मेरे पास एक स्वयंसेवक (लोडस्क्रीनकैस), एक फॉर्म 1 और एक अन्य वर्ग है जो "लॉग इन सी" नामक एक वर्ग है जो कुछ डेटा लोड करता है। अब मैंने इसे करने की कोशिश की:
सार्वजनिक आंशिक कक्षा लोड स्क्रीन: फ़ॉर्म {सार्वजनिक फॉर्म 1 फॉर्म 1 = शून्य; सार्वजनिक लॉग इन लॉग इन = नल; पृष्ठभूमिवर्कर कार्यकर्ता; सार्वजनिक लोडस्क्रीन (फॉर्म 1 एफआरएम 1) {इनिशियलाइजमेंट (); Form1 = frm1; } सार्वजनिक शून्य प्रारंभकर्ता () {backgroundWorker1.RunWorkerAsync (); } निजी शून्य पृष्ठभूमिवर्कर 1_DoWork (ऑब्जेक्ट प्रेषक, DoWorkEventArgs ई) {backgroundWorker1.ReportProgress (0); Var लॉग इन = नया लॉगइन (यह); logIn.checkUserInput (this); backgroundWorker1.ReportProgress (0); } निजी शून्य पृष्ठभूमिवर्कर 1_ProgressChanged (ऑब्जेक्ट प्रेषक, प्रगति बदलते EventArgs ई) {progressBar1.Value = ई। प्रगति प्रतिशत; प्रतिशत। पाठ = ई। प्रगति प्रतिशत। टॉस्ट्रिंग () + "%"; }
इसलिए जब मैं अपने फॉर्म 1 में "साइन इन" बटन दबाता हूं, तो निम्न होता है:
निजी शून्य signIn_Click (ऑब्जेक्ट प्रेषक, EventArgs e) { Var ldScreen = नया लोडस्क्रीन (यह); अगर (! LdScreen.Visible) {ldScreen.Show (); } और {ldScreen.BringToFront (); } Ldscreen.startWorker ();
उसे डॉकवर्क इवेंट को बढ़ाकर स्टार्ट वर्कर विधि को कॉल करना चाहिए और अपने लॉगइन क्लास में "checkUserInput" विधि को कॉल करना चाहिए, लेकिन किसी तरह जब वह इस विधि में प्रवेश करेगा तो वह एक NullReference अपवाद फेंकता है यहाँ क्या गलत है? मुझे पता नहीं है कि कौन सा ऑब्जेक्ट इन्सेशन गायब है या किसकी यहां जरूरत है।
वह कोड जहां क्रैश करता है वह निम्न है:
सार्वजनिक स्ट्रिंग चेक यूज़र इंपुट (ऑब्जेक्ट प्रेषक) {स्ट्रिंग वैल = स्ट्रिंग.एप्टी; स्ट्रिंग सहेजेंफ़ाइल = "वर्तमान सेटिंग्स" + form1.user.Text + ".txt"; // NullReference अपवाद
लॉग इन वर्ग में मेरे पास है:
loadScreen ldScreen = null; सार्वजनिक लॉगइन (लोडस्क्रीन एलडीएससीआरएन) {ldScreen = ldscrn; }
मुझे लग रहा है कि यह वास्तविक कोड नहीं है क्योंकि आप एक ' कार्यकर्ता 'विशेषता का प्रकार' पृष्ठभूमिवर्कर 'लेकिन इसे किसी वास्तविक उदाहरण के लिए कभी भी निर्दिष्ट नहीं किया है लेकिन फिर आप एक वेरिएबल' पृष्ठभूमि वर्कर 1 'का संदर्भ देते हैं जो प्रारंभिक रूप से प्रतीत नहीं होता (या परिभाषित)।
मुझे लगता है कि आप का जवाब सवाल यह है कि 'पृष्ठभूमिवर्कर 1' शून्य है जब इसे 'स्टार्टवॉकर' पद्धति में प्रवेश किया जाता है। हल करने के लिए निम्न जोड़ें:
पृष्ठभूमिवॉयर पृष्ठभूमिवर्कर 1; सार्वजनिक शून्य प्रारंभकर्त्ता () {backgroundWorker1 = नया पृष्ठभूमिवर्ककर्ता (); पृष्ठभूमिवर्कर 1। डूवर्क्स + = नया डूवर्करएवेंटहैंडलर (पृष्ठभूमिवर्कर 1_DoWork); }
अधिक जानकारी के लिए देखें:
No comments:
Post a Comment