Object reference not set to an instance of an obj

Hallo zusammen,
ich verzweifel gerade :smile: … und zwar habe icht folgendes Problem,habe mehrere Klassen Bestellung,Produkte,lieferant (Die Bestellung erhält bei anlegen ihre Daten von der Klasse Produkte (Artikelnr) und der Klasse Lieferant(Lieferdauer …) …Alle Daten Speicher ich in einer XML (Soap). Nun wollte ich sobald die Bestellung getätigt ist, die Bestellung löschen.Alle Objekte speicher in einer Arraylist.Habe eine Schleife am laufen die die Artikelnr der Produkte mit der Artikelnr der Bestellung überprüft,zwecks Lagerbestand Erhöhung. Die Index der getätigten Bestellungen aus der Arraylist, wollte ich Speichern und nach der Bestellen, per Schleife aus der Arraylist zu entfernen. Mein Problem ist nun folgendes zur Speicherung der Index wollte ich ebenfalls eine Arraylist nehmen doch sobald ich die Index in die Arraylist füge krieg ich den Fehler:

„Object reference not set to an instance of an object.“ (in der Letztens Zeile)

Das ist ein Teil meines Codes:

For Each m As Bestellung In ArrayBestellung
Dim r As Date
r = Date.Now
If CDate(m.Ankunftlieferung)

Hallo Dennis,

wo und wie hast du denn Testarray definiert ?

MfG Alex

Hi!
Wie bereits festgestellt, ist „testarray“ an dieser Stelle einfach null (noch nicht instanziert).

Dass das Instanzieren von einfachen Typen (New für Integer) in Java möglich sein soll, kann ich nicht so recht glauben - hier verhalten sich eigentlich die meisten OOP-Sprachen gleich (vielleicht mit Ausnahme von Smalltalk).

Mit VB.NET und C# ist es jedenfalls immer so, dass einfache Typen nicht über new initialisiert werden. new erzeugt ein Objekt, einfache Typen sind keine Objekte.
Wenn man doch mal einen einfachen Typ als Objekt braucht, wird ggf. automatisch ein Objekt erzeugt und der einfache Typ „reingesteckt“.
Das bezeichnet man als „Boxing“. Unter diesem Stichwort solltest Du genug Infos finden, wenn es Dich näher interessiert, was passiert.

Gruß,
Martin

Hallo Anno… habe die Arraylist (Testarray) in der selben Windowsform deklariert Dim testarray as Arraylist … Boxing angewandt und es klappt :smile: :smile: :smile: … nur sag mir mal ein Objekt der Klasse Arraylist kann man ja auch istanzieren(Dim testarray as New Arraylist)…nur mir unklar wofür man das braucht :smile: ? Sorry bin erst seit kurzem mit den Programmiersprachen am arbeiten…

Mit freundlichen Grüßen
DK

Hi!
Das Array verhält sich gleich wie jedes andere Objekt:
Du musst es deklarieren, damit der Compiler weiss, dass es ein Objekt mit diesem Namen gibt.
Du musst das Objekt instanzieren, damit es einen anderen Wert als den Default (null/Nothing) hat.

Wenn Du beim Array die Instanzierung weglässt, hast Du kein Objekt, in das Du Elemente einfügen könntest - daher die NullReferenceException.

Gruß,
Martin