PDA

Vollständige Version anzeigen : Funktionen


FrankMueller
25.03.2008, 08:07
Ist es möglich,aus einer User defined Function eine arraylist oder ein Array zurückzugeben?Bei mir kommt immer die Fehlermeldung: Finden des Typ-Objekts ist nicht möglich,weil das Objekt nicht vorhanden ist oder sie nicht die erforderliche Berechtigung haben.

Die Funktion sieht in etwa so aus:
[CODE]Public Shared Function fTest(ByVal test As Integer) As Integer()
Dim testID As Integer()
....
Return testID
/CODE]

Robert_Zenz
25.03.2008, 09:50
Moin!

Natürlich sollte es möglich sein...was mir auf die schnelle auffällt ist, das du testID falsch deklarierst.

Dim testID() as Integer
sollte es lauten. ;)

Rob

Edit: Natürliche sollte acuh die Rückgabezeile wie folgt lauten:
fTest = testID

FrankMueller
25.03.2008, 09:57
Hab ich auch schon alles ausprobiert!
Es kommt immer die Fehlermeldung:
Finden des Typ-Objekts 'Int32[]' ist nicht möglich, weil das Objekt nicht vorhanden ist oder Sie nicht die erforderliche Berechtigung haben.

rastrans
25.03.2008, 11:03
Hallo!

Irgendwo habe ich noch im Hinterkopf, das die Rückgabe mit einem Array in einem bestimmten Type nicht geht. Ich lasse mich gerne eines besseren belehren!!! Bisher habe ich das nämlich nicht hinbekommen!

Aber mit diesem Code funktioniert es schon mal. Nur das hier der Rückgabewert halt ein Array ist und in diesem nicht unbedingt integer Werte stehen müssen!
Sub xxx()
Dim feld() As Object
Dim x As Integer, i As Integer

x = 2
feld = fTest(x)
For i = 1 To x
Debug.Print(feld(i))
Next
End Sub

Function fTest(ByVal test As Integer) As Array

Dim testID() As Object
Dim i As Integer

ReDim testID(test)

For i = 1 To test
testID(i) = i * 2
Next

Return testID

End FunctionViele Grüße
rastrans