Textboxenarray->Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.



  • Hallo , ich habe ein textboxarray dynamisch angelegt und habe folgende fehlermeldung wenn ich on einem buttoevent auf eine Textbox mit textboxarray[0]->Text="test"; zugreifen will:
    Eine nicht behandelte Ausnahme des Typs "System.NullReferenceException" ist in nano.exe aufgetreten.

    Zusätzliche Informationen: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    ? ich habe den Code an folgender Stelle erzeugt

    namespace Formular {
    	using namespace System;
    	using namespace System::ComponentModel;
    	using namespace System::Collections;
    	using namespace System::Windows::Forms;
    
    	public ref class Form1 : public System::Windows::Forms::Form
    	{
    	public: 
    			array <TextBox ^> ^textboxArray1;
    
    		Form1(void)
    		{
    			InitializeComponent();
    
    		array <TextBox ^> ^textboxArray1 = gcnew array <TextBox ^>(4);
    			for(int i=0;; i<4; i++)
    			 {
    			textboxArray1[i] = gcnew TextBox(),gcnew TextBox();
    
    			textboxArray1[i]->Size = System::Drawing::Size(70, 20);
    			this->groupBox1->Controls->Add(textboxArray1[i]);
    			textboxArray1[i]->Text=Convert::ToString(i);
    				}
    for(int x=1, i=1; x<5; x++,i++){	textboxArray1[x-1]->Location =System::Drawing::Point(-54+(i*60), 120);	 }			
    
    		}
    


  • Deine Member Variable textboxArray1 wird von der gleichnamigen lokalen Variable überdeckt.

    Ersetze

    array <TextBox ^> ^textboxArray1 = gcnew array <TextBox ^>(4);
    

    durch

    textboxArray1 = gcnew array <TextBox ^>(4);
    

    Ausserdem würde ich

    textboxArray1[i] = gcnew TextBox(),gcnew TextBox();
    

    durch

    textboxArray1[i] = gcnew TextBox();
    

    ersetzen.


Anmelden zum Antworten