globales array as tMeineKlasse

hibbert

Mitglied
hallo,
ich habe ein kleines problem mit einem dynamischen globalem array :(

am besten zeige ich erstmal was ich schon habe und dann erkläre ich das probelm, vllt erkennt es ja schon wer anhand des quelltextes ;)
Code:
public class form1
'usw...
 Public Class tauftrag
        Public id As Integer
        Public what As String 
        'weitere attribute und methoden
 End Class

Public order() As tauftrag

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ReDim order(1)
    End Sub

Private Sub addtolist(ByVal id As Integer,..., ByVal rest As String)
        Dim anz As Integer
        anz = UBound(order)
        anz = anz + 1
        ReDim order(anz)
        Try
            order(anz).setID(id)
        Catch e As Exception
            MsgBox(e.ToString)
        End Try
    End Sub

so nun zu meinem problem ;)
der quelltext wird compiliert und alles, nur in der anwednung wenn ich einen Eintrag hinzufügen möchte, dann wir die exception ausgelöst.
Der Fehler hat gesagt.:
Eine Ausnahme (erste Chance) des Typs "System.NullReferenceException" ist in myApplication.exe aufgetreten.

jetzt kann ich mir denken, dass das array vllt nicht inituialisiert wurde oder liegt es mit an der klasse? habe ich vllt da schon einen fehler gemacht?

gibt es vllt noch bessere möglichkeiten, ich brauche jedenfall meine klasse tauftrag als array...

bin für die lösung des prblem wie auch für verbesserungen dankbar =)

hibbert
 
Hi

Seh ich das richtig? Im Array order sollen verschiedene Instanzen der Klasse tAuftrag sein?
Wenn ja:
Sind die einzelnen Elemente auch instanziiert?
Mit ReDim wird nur die Größe des Arrays geändert, nicht jedoch Instanzen von klassen angelegt.
Wenn du nicht weißt, wieviele Objekte von der Klasse du benötigst würde ich dir jedoch etwas flexibleres als ein Array empfehlen (ArrayList oder eine System.Collection.Generics.List).

Wenn nein: Bitte genauer beschreiben wo der Fehler auftritt und was was ist!

PS: Mit dem Debugger kannst du übrigens ganz leicht herausfinden, welches Objekte instanziiert ist und welches nicht.
 
Also.

1. Bitte an unsere Netiquette halten und die Groß- Kleinschreibung beachten. Sonst gibt es schnell Probleme.

2. In der Zeile order(anz).setID(id) wird dein Problem liegen. Du hast hier kein Objekt von deiner Klasse erstellt und an die entsprechende Stelle gesetzt. Dadurch greifst du ins Leere.
 
Zurück