Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99

    [VB6] errore con XMLHTTP30

    Ciao a tutti.
    Ho un errore che mi sta facendo letteralmente impazzire.
    Sto scrivendo un applicativo che dovrebbe girare su un server web che controlli periodicamente se il sito web ospitato è online quindi ho pensato far controllare se esiste una pagina specifica residente nel sito. Nel caso non riuscisse a trovarla il server dovrebbe essere offline (non so se sia la strada migliore per risolvere questo problema ma credo che cosi possa funzionare).
    Il codice dell'intero applicativo è il seguente
    codice:
    Public Function IsValidUrl(Url As String) As Boolean
    Dim hp As New XMLHTTP30
    Dim IsValid As Boolean
    Dim Status As String
    
    Set hp = New XMLHTTP30
    hp.open "GET", Url, False
    On Error Resume Next
    hp.send
    
    Status = hp.statusText
    If Not (Status <> "OK") Then IsValid = True
    
    IsValidUrl = IsValid
    End Function
    Private Sub Form_Load()
    Dim controllo As Boolean
    controllo = IsValidUrl("http://www.sitowebdacontrollare.it/pagina.html")
    If (controllo = "Vero") Then
        MsgBox "Sito web online"
    Else
        MsgBox "Sito web OFFLINE"
    End If
    End Sub
    Quindi nei riferimenti ho spuntato "Microsoft XML, v3.0"
    Testandolo da Visual Basic funziona perfettamente. Se metto offline il sito l'applicativo dice giustamente che è offline, se lo rimetto online mi dice che è online.
    Il problema sorge quando creo il file exe: infatti una volta avviato l'exe mi da il seguente errore
    Run-time error '13'
    Type mismatch

    Non riesco a capire. Perché da visual basic va ma una volta creato l'eseguibile non più?

  2. #2
    Hai modo di vedere dove ti segnala l'errore?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    E' proprio li il problema. Questo errore mi compare solo dopo aver creato il file eseguibile e solo se avvio l'eseguibile. Se avvio lo stesso applicativo da visual basic non da alcun errore e funziona tutto perfettamente.

  4. #4
    Ciao..ho capito l'errore ma non dire che in vb non accadeva:
    posto il tuo codice con l'errore:
    [B]Postato da Amok [\B]
    If (controllo = "Vero") Then
    MsgBox "Sito web online"
    Else
    MsgBox "Sito web OFFLINE"
    End If
    End Sub
    L'errore è alla riga "controllo = vero".... Te nella funzione avevi messo controllo = IsValidUrl, che, essendo una funzione Booleana, dà come valori possibili di ritorno True o False. Per correggere inserisci True al posto di vero SENZA le virgolette, altrimenti viene interpretato da visual basic come una stringa, mentre true o false sono valori di funzione.

    Spero di essermi spiegato..

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    99
    Ora funziona. Grazie...^^
    Cmq ti giuro che in vb non dava errore. Anche perché ho provato a fare una cosa (dopo che mi hai detto cosi e ho fatto un msgbox con il valore della variabile controllo e invece di darmi True o False mi dice proprio Vero o Falso...

  6. #6
    Si..però quello che ti volevo dire io è che il valore di ritorno di una variabile Boolean non è una stringa e quindi non devono esserci le virgolette..

    Cmq meglio così..

    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.