Parameterübergabe

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Parameterübergabe / SUB /Function

    Hallo ,

    ich möchte gerne eine Prozedur bzw. eine Funktion erzeugen. Wo ich einen String übergebe. Ich habe das mal einfach extrahiert damits übersichtler wird.

    Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim myArray() As String
    4. myArray(0) = "test1"
    5. myArray(1) = "test2"
    6. xsearch(myArray(0))
    7. End Sub
    8. Public Function xsearch()
    9. Debug.Print(myarray(0))
    10. End Function
    11. End Class


    Da ich diesen String weiter verarbeiten will leider kommt es nur zu Fehlermeldunen. Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kevinhro“ ()

    Hi!

    Das müsste in etwa so aussehen:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim myArray() As String
    4. myArray(0) = "test1"
    5. myArray(1) = "test2"
    6. xsearch(myArray)
    7. End Sub
    8. Public Function xsearch(sArr() as String)
    9. Debug.Print(sArr(0))
    10. End Function
    11. End Class

    ;-( geht nicht

    Warnung 1 Die myArray-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.

    Warnung 2 Die xsearch-Funktion gibt nicht für alle Codepfade einen Wert zurück. Wenn das Ergebnis verwendet wird, kann zur Laufzeit eine Nullverweisausnahme auftreten.

    Und das Program

    bricht mit diesen Fehlern leider ab

    das sagt die hilfe
    NullReferenceException wird bei dem Versuch ausgelöst, im Code auf ein nicht vorhandenes Objekt zu verweisen. Möglicherweise haben Sie versucht, ein Objekt zu verwenden, ohne vorher das New-Schlüsselwort zu verwenden. Oder Sie haben versucht, ein Objekt zu verwenden, dessen Wert auf NULL (in Visual Basic: Nothing) festgelegt war.

    aber ich kann nur deutsch ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kevinhro“ ()

    Ein dynamisches Array muss erst dimensioniert werden:

    VB.NET-Quellcode

    1. Dim myArray() As String
    2. ReDim myArray(1)
    3. myArray(0) = "test1"
    4. myArray(1) = "test2"
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Hi!

    In VB2005 sollten die Arrays bei der Zuweisung automatisch dimensioniert werden ...
    Ich glaub es fehlt ein ... = new ...
    Ich hab in VB.net leider noch nicht viel mit Arrays gemacht und in C# geht das ja wieder komplett anders -.-

    In welcher Zeile kommt denn der Fehler?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()