hm, ich glaube da muss man ein wenig weiter ausholen:
Das ganze mit Strukturen zu l�sen, wie du es jetzt machst, ist zwar erst mal m�glich, aber ziemlich unpraktisch und, sorry, unprofessionell
Quasi von hinten durch die Brust ins Auge :)
 
Parameter�bergabe ByRef, also mit Referenzen, geh�rt zum Handwerkszeug eines Programmierers:
 
Wenn du einen Parameter ByRef �bergibst, �bergibst du nicht den Wert , sondern die Speicheradresse des Parameters. Innerhalb der Funktion, die diese Referenz �bergeben bekommt, kannst du dann ganz normal damit arbeiten, jedoch mit dem Unterschied zu ByVal, dass Ver�nderungen der Variablen sich auf den Wert der �bergebenen Variablen ausserhalb der Funktion auswirken.
Um auf das Beispiel von Christoph Wille zur�ckzukommen:
 
Function Foo(ByRef valOne as String, ByRef valTwo as String) as Integer
   valOne = "Hansi"
   valTwo = "Mausi"
   Foo = -1
End Function

Aufruf:

Dim myValOne, myValTwo as String
' Werte der Variablen vor Aufruf der Funktion
myValOne = "Tolle"
myValTwo = "Wurst"
Foo(myValOne, myValTwo)
 'Nach dem Funktionsaufruf haben diese beiden Variablen ausserhalb der Funktion die Werte "Hansi" und "Mausi" ohne dass sie in irgendeiner Form von der Funktion zur�ckgegeben 'worden sind
 
Du kannst dass ja mal ausprobieren und dir die Werte der Variablen vorher und nachher ausgeben lassen
Ansonsten kannst du dir auch noch Beispiele in irgendwelchen B�chern oder der MSDN anschauen.
 
Gr�sse
Christian
 
----- Original Message -----
From: Oskar Vaia
Sent: Friday, September 12, 2003 4:40 PM
Subject: [Vb.net] AW: [Vb.net] AW: [Vb.net] Re: [Vb.net]Funktionsr�ckgabewert (e)

hallo,

hab die l�sung meines problems gefunden. eine tolle sache dieses .NET!
hier ein beispiel:



   Structure OpNReturn
       Dim Nr As Short
       Dim Datum As String
   End Structure


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim retvalue As OpNReturn
        retvalue = test_func(2, "ossi")
    End Sub

    Function test_func(ByVal Nr1 As Short, ByVal Datum1 As String) As OpNReturn
        With test_func
            .Nr = Nr1 * 2
            .Datum = Datum1 & "OK"
        End With
    End Function

das war genau das was ich brauchte. ;)

gr��e

Oskar

_______________________________________________
Vb.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/vb.net

Odpovedet emailem