Supportnet / Forum / Skripte(PHP,ASP,Perl...)
VBScript - Array als Parameter übergeben
Frage
Hallo,
kann mir vielleicht jemand sagen, was in folgendem Code beim Übergeben des Arrays als Parameter an die Prozedur Gruss() falsch ist?
<%
public myArray(1)
myArray(0) = "Franz"
myArray(1) = "Fritz"
%>
<html>
<head>
<title>Neue Seite 1</title>
<script language="VBScript">
Sub Gruss(y)
MsgBox "Hallo " & y(0) & " und " & y(1)
End Sub
</script>
</head>
<body>
<form>
<input type="button" name="Button1" value="Drücken"
language="VBScript" onClick="call Gruss(<%=myArray%>)">
</form>
</body>
</html>
Es erscheint folgende Fehlermeldung:
Fehlertyp:
Antwortobjekt, ASP 0106 (0x80020005)
Es wurde ein unbekannter Datentyp gefunden.
Typ passt nicht
Ich würde mich sehr freuen, wenn mir jemand helfen könnte, da ich schon eine Weile versuche, dieses Problem zu lösen, aber nicht dahinterkomme, was falsch ist.
Schönen Gruß Peter
Antwort 1 von Bill_G von M aus A
Weiss nicht genau, aber ändere mal folgende Zeile:
MsgBox "Hallo " & y(0) & " und " & y(1)
in
MsgBox "Hallo ' " & y(0) & " ' und ' " & y(1) & " ' "
Könnte daran liegen, dass Du nen string als int ausgeben willst. Achte auf die Hochkommata.
MsgBox "Hallo " & y(0) & " und " & y(1)
in
MsgBox "Hallo ' " & y(0) & " ' und ' " & y(1) & " ' "
Könnte daran liegen, dass Du nen string als int ausgeben willst. Achte auf die Hochkommata.
Antwort 2 von fleckweg
hallo. ich kenn mich noch nicht gut in VBA aus, aber ich glaub das problem ist folgendes: du kannst myArray() zwar außerhalb einer prozedur als public deklarieren, musst aber innerhalb einer prozedur den feldelementen werte zuweisen (vgl sub test())
Public myArray(1) As Variant
Sub Gruss(y As Variant)
MsgBox "Hallo " & y(0) & " und " & y(1)
End Sub
Sub test()
myArray(0) = "Franz"
myArray(1) = "Fritz"
Gruss (myArray())
End Sub
wenn ich nun test() ausführe funktionierts
lg
Public myArray(1) As Variant
Sub Gruss(y As Variant)
MsgBox "Hallo " & y(0) & " und " & y(1)
End Sub
Sub test()
myArray(0) = "Franz"
myArray(1) = "Fritz"
Gruss (myArray())
End Sub
wenn ich nun test() ausführe funktionierts
lg

