System.NullReferenceException Problem
-
Hallo ! Mein Problem ist das ich eine Fehlermeldung "System.NullReferenceException" bekomme. Ich weiss nicht was ich falsch gemacht habe. Hier erstmal der Code.
Mitarbeiter.h
#pragma once using namespace System; ref class Mitarbeiter { int id; String ^name; String ^vorname; String ^geburtstag; String ^geburtsort; String ^strasse; String ^stadt; int postleitzahl; public: Mitarbeiter(int id, String ^name, String ^vorname, String ^geburtstag, String ^geburtsort, String ^strasse, String ^stadt, int postleitzahl); };
Mitarbeiter.cpp
#include "StdAfx.h" #include "Mitarbeiter.h" Mitarbeiter::Mitarbeiter(int id, String ^name, String ^vorname, String ^geburtstag, String ^geburtsort, String ^strasse, String ^stadt, int postleitzahl){ this->id = id; this->name = name; this->vorname = vorname; this->geburtstag = geburtstag; this->geburtsort = geburtsort; this->strasse = strasse; this->stadt = stadt; this->postleitzahl = postleitzahl; }
Form1.h
Oberer Teil:
public: Form1(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // array<Mitarbeiter^> ^neuMitarbeiter = gcnew array<Mitarbeiter^>(100); }
Unterer Teil
#pragma endregion private: array<Mitarbeiter^> ^neuMitarbeiter; int index; private: System::Void button_mitarbeiter_anlegen_Click(System::Object^ sender, System::EventArgs^ e) { if(!index){index = 0;} index++; try{ neuMitarbeiter[0] = gcnew Mitarbeiter(22,"Name","Vorname","GebOrt","GebTag","Strasse","Was auch immer",33); } catch(SystemException ^e){ MessageBox::Show("Falsche Eingabe !"+ e->Message); } catch(FormatException ^e){ MessageBox::Show("Falsches Format"); } }
Ich möchte um C++ besser zu lernen sozusagen eine Mitarbeiterverwaltung aufbauen und hänge leider mal wieder.
Ich Danke schonmal im Vo rr aus
-
Du legst die Variable "neuMitarbeiter" in jeder Methode separat an... somit können die nie auf die gleichen Daten zeigen... lege es als Field an, dann geht es...
Form1(void) { InitializeComponent(); // //TODO: Konstruktorcode hier hinzufügen. // neuMitarbeiter = gcnew array<Mitarbeiter^>(100); }
PS: Du lernst hier nicht C++ sondern C++/CLI!
-
Danke für die schnelle Antowrt !
Nun funzt esEcht Super Forum. Schnelle Antworten