Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Argumenttyp ByRef unverträglich

    Betrifft: Argumenttyp ByRef unverträglich von: Kriskra
    Geschrieben am: 03.10.2003 19:19:09

    Hallo, ich habe mich gerade mit dem thema Winsock befasst und baute den server:

    ......

    Private Sub ws_DataArrival(ByVal bytesTotal As Long)
    kommanDo = ""
    Parameter = ""
    ws.GetData tmP
     
    EndC = 0
    For X = 1 To Len(tmP)
    If Mid(tmP, X, 1) = " " Then
    EndC = X
    X = Len(tmP)
    End If
    Next X
    If EndC = 0 Then
    kommanDo = tmP
    GoTo nÄchstes
    End If
    Parameter = Mid(tmP, EndC + 1, Len(tmP) - EndC)
    kommanDo = Mid(tmP, 1, EndC - 1)
    nÄchstes:
    InterPretierEn kommanDo, Parameter
    End Sub
    


    Doch wenn ich es Kompilieren will kommt die Fehlermeldung:
    Argumenttyp ByRef unverträglich
    Im bezug auf das kommanDo in der vorletzten zeile...

    Das ist das Modul dazu, das die Befehle ausführt

    Public Function InterPretierEn(c As String, p As String)
    Select Case LCase(c)
    Case "showmessage"
    MsgBox p, vbSystemModal, "Message!"
    Case "showinput"
    Dim ansWer As String
    ansWer = InputBox(p, "Request")
    Form1.ws.SendData ansWer
    Case "close"
    End
    End Select
    End Function


    Hoffe mir kann jemand sagen was der fehler ist, danke...
      


    Betrifft: AW: Argumenttyp ByRef unverträglich von: Nepumuk
    Geschrieben am: 03.10.2003 21:27:45

    Hallo Kriskra,
    so wie es aussieht, sind die Variablen "kommanDo" und "Parameter" nicht spezifisch dimensioniert. Darum legt ´VBA sie automatisch als Variant-Variable an. Diese versuchst du in deinem Programm an eine String-Variable zu übergeben. Daher der Konflikt.
    Lösungen:

    1. Die Variablen mit einer Dim - Anweisung als String zu definieren. {Dim kommanDo as String, Parameter as String}

    2. Die Variablen mit einer CStr - Anweisung zu einem String zu konvertieren.{InterPretierEn CStr(kommanDo), CStr(Parameter)}


    3. Nur den Wert der Variablen ohne Dimension zu übergeben. {InterPretierEn (kommanDo), (Parameter)}

    Gruß
    Nepumuk


      


    Betrifft: AW: Argumenttyp ByRef unverträglich von: Kriskra
    Geschrieben am: 03.10.2003 21:58:58

    Jo danke das komplimieren hat jetzt funktioniert! Aber irgentwie geht es immernochnicht! Ich hab das Script mal hochgeladen:

    https://www.herber.de/bbs/user/1282.zip

    Wäre sehr dankbar wenns mal jemand ankuckt und korregiert...wie gesagt Progge noch nicht lange mit Winsock! (Is fürn VB6, einfach in WSTest...WSClient...Gruppe1.vbg öffnen)

    Danke im Vorraus!!!


      


    Betrifft: AW: Argumenttyp ByRef unverträglich von: Nepumuk
    Geschrieben am: 03.10.2003 22:06:48

    Hallo Kriskra,
    die Spezialisten dafür findest du hier: http://www.vb-fun.de/vb/index.htm
    Gruß
    Nepumuk


      


    Betrifft: AW: Argumenttyp ByRef unverträglich von: Andy
    Geschrieben am: 03.10.2003 21:35:48

    Genau das Problem habe ich auch aber in einem anderen projekt, habe das projekt dann aufgegeben, wäre aber auch froh wenn jemand eine Lösung weis...Dann kram ich das Projekt wieder aus :)