| |
![zurück](../images/b_zurueck.gif)
VB.NET - Ein- und UmsteigerRe: NullReferenceException bei Property-Zugriff | | ![](../images/trans.gif) | Autor: Preisser | Datum: 24.11.10 12:26 |
| Hallo,
die Exception kann eigentlich nur dadurch entstehen, dass du versuchst, über eine Variable, die den Typ clsKlasse2 hat, der aber noch keine Referenz zugewiesen wurde und daher den Wert null hat, eine Methode (bzw. hier Property) anzuwenden. Da die Variable keine Referenz, sondern null enthält, tritt dort die NullReferenceException auf.
Evtl. greifst du ja auf einen Eintrag im Klasse2-Array zu, der null ist. Hast du schon versucht, das Programm zu debuggen und nachzusehen, auf welchen Eintrag des Klasse2-Arrays zugegriffen wird? Bzw. warum heißt das Array Klasse2, du greifst aber auf Klasse1 als Array zu?
Woher bekommen die anderen Forms eigentlich die Referenz auf frmMain? Anscheinend rufst du ja bei den anderen Forms nur den parameterlosen Konstruktor auf, und die Variablen in der Hauptform, die die Referenzen auf die anderen Forms enthalten, sind keine statischen (Klassen-)Variablen (Shared in VB.Net).
Ich kenn mich jetzt nicht so gut aus in .Net (habe früher in VB6 und dann mit Java programmiert), aber merkwürdigerweise kann man in VB.Net auf Instanzvariablen einer von Form abgeleiteten Klasse zugreifen, obwohl diese gar nicht statisch (shared) sind (evtl. ist das dann sowas wie eine "Standardinstanz" der Form). Vielleicht ist frmMain bei dir die Klasse der Hauptform und keine Referenz auf eine Instanz davon, sodass die Formvariablen dort noch den Wert null enthalten, wenn diese in einer anderen Instanz von frmMain belegt werden, die anderen Forms aber über die Klassenvariable zugreifen. Falls das so ist, solltest du im Konstruktor der anderen Forms eine Referenz auf die Hauptform übergeben, damit diese über die auf die anderen Formvariablen zugreifen können. Oder du deklarierst die beiden Klasse1 und Klasse2 Variablen als Shared (dann kann es aber keine mehrfachen Instanzen der Hauptform geben, die jeweils eigene Variablen für die anderen Forms hat).
Beitrag wurde zuletzt am 24.11.10 um 13:03:07 editiert. | ![](../images/trans.gif) |
![](../images/48x48/info.gif) | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
![nach oben](../images/b_top.gif) ![zurück](../images/b_zurueck.gif) |
|
Neu! sevEingabe 3.0 ![Das Eingabecontrol der Superlative](../images/werbung/sevein20_100x100.jpg)
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket ![Developer CD f?r VB](../images/werbung/devcdvb_100x100.jpg)
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|