Problema Visual Basic

di Anonimizzato10305 il
11 risposte
Salve a tutti ho un problema con visual basic, praticamente stavo creando il tasto apri vano ma quando inserisco i codici mi da errore sulla stringa returnstring e mi dice che non e dichiarato. adesso posto i codici del tasto
Dichiarazioni

Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _ 
ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Apre il cassetto...

Dim retvalue As Long
retvalue = mciSendString("set CDAudio door open", returnstring, 127, 0)

... e lo richiude

retvalue = mciSendString("set CDAudio door closed", returnstring, 127, 0)
potete dirmi dove ho sbagliato

11 Risposte

  • Emmm la prossima volta elimina il messaggio doppione. Altrimenti avvisi noi moderatori e spostiamo noi l'argomento, senza lasciare doppioni in giro.

    Comunque ho provveduto a cancellare il post
  • Okok la prossima volta staro piu attento intanto come posso risolvere questo errore con visual basic ???
  • Forse la segnalazione che 'returnstring' non è dichiarata è dovuta al fatto che non hai dichiarato 'returnstring'

    Se la dichiari vedrai che si compila.

    Dopodichè ti comparirà un erroraccio tremendo che tira in ballo lo Stack e PInvoke, questo perchè la firma di 'mciSendString' è sbagliata, quella giusta è:
    
        Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" ( _
            ByVal lpstrCommand As String, _
            ByVal lpstrReturnString As System.Text.StringBuilder, _
            ByVal uReturnLength As UInteger,
            ByVal hwndCallback As IntPtr) As UInteger
    
    In quella che hai usato usi dei long (64 bit) invece che degli integer (32bit), e poi il secondo parametro deve essere uno StringBuilder.

    la dichiarazione di 'returnstring' deve essere fatta cosi:
    
    Dim returnstring As System.Text.StringBuilder
    
  • Quindi ho sbagliato la dichiarazione, i codici li avevo inseriti bene giusto???
  • Hai fatto due errori:
    1) Non hai dichiarato 'returnstring' per cui il programma non si compila e ti segnala l' errore che hai indicato.
    2) Il secondo errore non puoi averlo visto dato che il programma non si compilava, in quanto è un errore che avviene a run-time, ed è generato alla dichiarazione sbagliata.

    Il modo in cui richiami la funzione va bene.
  • Ok adesso provo con la dichiarazione che mi hai postato poi ti faccio sapere. Caso mai ti faccio uno screen di visual basic
  • Cosi va messa la dichiarazione giusto???

  • visual91 ha scritto:


    cosi va messa la dichiarazione giusto???
    Visto che ti segnala errore direi proprio di no!!!
    Mi sembra che ti manchino proprio le basi, forse ti conviene studiare un po prima di proseguire.

    (comunque la dichiarazione va messa prima di Form1_load)
  • Ecco cosi sto facendo bene????

  • Ho capito tu sei un burlone! Scusa se non ci ero arrivato subito
  • Potresti farmi tu uno screen giusto per capire?
Devi accedere o registrarti per scrivere nel forum
11 risposte