Zugriff auf Array funktioniet nicht

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von mcdt.

    Zugriff auf Array funktioniet nicht

    Hi,
    ich möchte gerne ein Array mit ein par Informationen füllen.
    Anbei mal mein Code :

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.IO
    3. Public Class Form1
    4. Dim VZInfo() As VerzeichnisInfo
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. Dim i As Integer = 0
    7. For Each dr As System.IO.DriveInfo In My.Computer.FileSystem.Drives
    8. If (dr.DriveFormat = "FAT32") Or (dr.DriveFormat = "NTFS") Then
    9. VZInfo(i).Format = dr.DriveFormat
    10. VZInfo(i).RootDirectory = dr.RootDirectory.Name
    11. VZInfo(i).Typ = dr.DriveType
    12. VZInfo(i).VolumeLabel = dr.VolumeLabel
    13. i = i + 1
    14. End If
    15. Next
    16. i = 0
    17. End Sub
    18. Structure VerzeichnisInfo
    19. Public Format As String
    20. Public Typ As String
    21. Public VolumeLabel As String
    22. Public RootDirectory As String
    23. End Structure
    24. End Class



    Es fehlermeldung erscheint folgender Text :

    "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."


    Markiert wird folgende Zeile :

    "VZInfo(i).Format = dr.DriveFormat"


    wäre nett wenn mir jemand helfen kann.


    mfg
    Du musst für das Array vorher Speicher beschaffen. Sonst ist es ja leer.
    Nimm am besten eine List(Of VerzeichnisInfo) anstatt einem Array:

    VB.NET-Quellcode

    1. Dim VZInfo as New List(Of VerzeichnisInfo)
    2. ' item hinzufügen
    3. VZInfo.Add(New VerzeichnisInfo With { .Format = dr.DriveFormat, .RootDirectory = dr.RootDirectory.Name, usw... })