Avatar billede cronck Nybegynder
27. juli 2004 - 17:39 Der er 11 kommentarer og
1 løsning

Expected array i min function

Jeg har lavet en function som kører på¨min server. Når en bruger sender en besked i Chatten, bliver beskeden sendt til alle brugere via denne funktion. Jeg kan ikke finde ud af at løse fejlen... Når fejlkoden kommer frem, markerer den 'arrSplit() ='

Fejlkode: Expected array

Public Function Chat(Index As String, Text As String, Kind As String)
Dim strData As String
Dim arrSplit As String
For x = 0 To IntMax
    strData = arrUsers(x)
    If strData <> "" Then
        arrSplit() = Split(strData, "|")
        Select Case Kind
        Case "Chat"
            If arrSplit(0) <> "Unknown" Then
                Winsock(x).SendData EncryptText("Chat|" & User & ": " & Text & "|Chat")
                AddToLog "Sent the message to a user"
            End If
        End Select
    End If
Next
End Function
Avatar billede overchord Nybegynder
27. juli 2004 - 17:44 #1
proev enten at lave arrPlit om til en variant eller skrive
dim arrSplit() as string - du dimmer den som string men indikerer ikke at den skal vaere et array
Avatar billede cronck Nybegynder
27. juli 2004 - 17:46 #2
Jamen, Dim arrSplit As String, virker fint i alle mine andre scripts?
Avatar billede cronck Nybegynder
27. juli 2004 - 17:50 #3
Laver jeg den om til Variant, får jeg fejlen: Subscript out of range
Avatar billede cronck Nybegynder
27. juli 2004 - 17:53 #4
Hmm.. Det virker nu.. Ved ikke hvad jeg gjorde

Public Function Chat(Index As String, Text As String, Kind As String)
Dim strData As String
Dim arrSplit() As String
For x = 0 To IntMax
    strData = arrUsers(x)
    If strData <> "" And strDate <> " " Then
        arrSplit() = Split(strData, "|")
        Select Case Kind
        Case "Chat"
            If arrSplit(0) <> "Unknown" Then
                Winsock(x).SendData EncryptText("Chat|" & User & ": " & Text & "|Chat")
                AddToLog "Sent the message to a user"
            End If
        End Select
    End If
Next
End Function
Avatar billede michael_stim Ekspert
27. juli 2004 - 17:55 #5
Du gjorde som overchord sagde: Dim arrSplit() As String
Avatar billede cronck Nybegynder
27. juli 2004 - 17:57 #6
Havde jeg jo gjort i forvejen?
Avatar billede overchord Nybegynder
27. juli 2004 - 17:58 #7
Det kommer selvf an paa hvilket milgjoe du koerer i, men jeg vil da kraftigt anbefale at du altid bruger explicit variables, og uden at saette en dimension paa din variable angiver du altsaa ikke at den er et array.
Har du proevet at saette den til variant eller at definere din varibel korrekt - du skriver at det har virket uden i andre scripts men fortaeller ikke om du har afproevet metoden..
Avatar billede overchord Nybegynder
27. juli 2004 - 17:59 #8
ok lidt sent paa den der :-)
Du har netop gjort det som det skulle, nemlig at smide paranteser efter dit variabel-navn i din Dim statememnt hvilket betyder at du nu giver den instruks at det er et array.
Avatar billede cronck Nybegynder
27. juli 2004 - 18:00 #9
jeg troede du mente at jeg ikke skulle bruge "Dim arrSplit() As String"
For det gjorde jeg jo i forvejen?
Jeg bruger altid Dim...?
Avatar billede cronck Nybegynder
27. juli 2004 - 18:02 #10
Ahh... Nu ser jeg fejlen!
Havde glemt den () i det første jeg skrev... :)
overchord, smid svar, så får du point.. ;o)
Avatar billede overchord Nybegynder
27. juli 2004 - 18:20 #11
hehe ok - det er nemt at stirre sig blind paa problemet og saa at forstaa hvad jeg siger nogle gange :-)
Avatar billede cronck Nybegynder
27. juli 2004 - 18:50 #12
ja.. ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester