|
|
|
![]() |
|
Strumenti |
![]() |
#1 | |
Senior Member
Iscritto dal: Mar 2004
Città: Nardò
Messaggi: 883
|
[VBA-Winsock] - Runtime error 5
Ciao a tutti, ho un problema che mi sta facendo uscire matto.
sto scrivendo un programma matlab interfacciato a VBA excel via socket nel lato excel, che funge da SERVER, il codice importante è il seguente: Quote:
La domanda è semplice devo trasferire una stringa da matlab a excel ho scritto un programma matlab che si connette e manda alcune stringhe su richiesta la prima volta funge bene (excel riceve la stringa e la stampa nella textbox 1), dalla seconda in poi appare una finestra di debug in vba che recita "Runtime Error 5" "Routine call or argument not valid" se entro in debug vedo che nella variabile DataFromMatlab la stringa c'è ed è corretta, ma appena faccio f8 per andare avanti la maledetta funzione sock.getdata non funge bene e mi resetta la variabile ad una stringa vuota. Private Sub Sock_DataArrival(ByVal bytesTotal As Long) (DEBUG POINT) Sock.GetData DataFromMatlab TextBox1.Text = "Received: " + DataFromMatlab ReadMessage (DataFromMatlab) End Sub la cosa che mi fa incazzare è che la stringa arriva tranquillamente, è la funzione della libreria che scazza! Any idea???? grazie.... ![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Mar 2004
Città: Nardò
Messaggi: 883
|
UP
![]() nessuno???
__________________
![]() |
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2005
Messaggi: 44
|
Quote:
il problema è qyesto: non fai nessun controllo sulla presenza o meno della stringa passata da linea di comando... in questo modo dai per assunto che ci sia, ottenendo appunto (nel caso essa manchi) l'errore che ti si è presentato. La prima stringa passata c'è probabile che la seconda non ci sia. direi che è meglio prevedere un'operazione di default, nel caso in cui la stringa non venga passata, o magari la visualizzazione di un MsgBox che avverte l'utente che nessun parametro è stato passato. in pratica: If DataFromMatlab="" Then MsgBox "Nessun parametro è stato passato!", vbCritical + VbOkOnly, "Attenzione!" Exit Sub Else ... ... Prosegue con il programma ... ... End If |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:53.