Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Sottoprocedure

    Ciao a tutti,
    qualcuno mi sa dire xkè quando faccio una chiamata ad una sottoprocedura e tento di simulare il programma, mi viene questo errore:

    Compile error:
    ByRef argument type mismatch

    ?? :master:



    ps: se qualcuno mi sa spiegare cosa vuol dire ByVal mi fa un piacere...

    Grazie
    theRey89

    www.pereyracompany.it

  2. #2
    Posta il codice incriminato.
    P.S.: "simulare il programma"?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3

    Ciao,

    il codice è questo:

    codice:
    Dim ConnessioneDB As Connection
    
    Sub Hola(Directory As String)
    Dim A As String
    Dim Cont As Integer
    Cont = 0
    Do Until A = ""
    If Cont = 0 Then A = dir(Directory, vbDirectory + vbHidden)
    MsgBox A
    If GetAttr(Directory & A) = 16 Or GetAttr(Directory & A) = 18 Then
    RmDir (Directory & A)
    Else
    Kill (Directory & A)
    End If
    MsgBox GetAttr(Directory & A)
    MsgBox Directory & A
    ConnessioneDB.Close
    Cont = 1
    A = dir
    Loop
    End Sub
    
    Sub Contenuto()
    Dim rsDirectory As Recordset
    Dim qDirectory, Directory, CurrentFile As String
    Set ConnessioneDB = New Connection
    ConnessioneDB.Provider = "Microsoft.Jet.OLEDB.4.0"
    ConnessioneDB.Open "\\CartellaCondivisa\Sottocartella\FileDatabaseAccess.mdb"
    Set rsDirectory = New Recordset
    qDirectory = "SELECT directory FROM tContenuto"
    rsDirectory.Open qDirectory, ConnessioneDB
    Do Until rsDirectory.EOF
    With rsDirectory
    Directory = !Directory
    End With
    Call Hola(Directory)
    rsDirectory.MoveNext
    Loop
    rsDirectory.Close
    Set rsDirectory = Nothing
    ConnessioneDB.Close
    Set ConnessioneDB = Nothing
    End Sub
    
    Private Sub Form_Load()
    Call Contenuto
    End Sub
    se ce bisogno di chiarire qualcosa dimmelo...

    prova a vedere un attimo...


    ps: "simulare" sta per eseguire!!
    :quote:
    theRey89

    www.pereyracompany.it

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Sottoprocedure

    Originariamente inviato da theRey89
    Ciao a tutti,
    qualcuno mi sa dire xkè quando faccio una chiamata ad una sottoprocedura e tento di simulare il programma, mi viene questo errore:

    Compile error:
    ByRef argument type mismatch

    ?? :master:



    ps: se qualcuno mi sa spiegare cosa vuol dire ByVal mi fa un piacere...

    Grazie
    Indica il linguaggio oltre a fare vedere il codice ...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Guarda che il tipo delle variabili non e' l'ultimo della riga ma va comunque dichiarato ...

    codice:
    Sub Contenuto()
    Dim rsDirectory As Recordset
    Dim qDirectory As String, Directory As String, CurrentFile As String
    ...

  6. #6

    Re: Sottoprocedure

    Originariamente inviato da theRey89
    ps: se qualcuno mi sa spiegare cosa vuol dire ByVal mi fa un piacere...
    ByVal: alla funzione arriva una copia dell'argomento che le passa il chiamante; qualunque modifica che la funzione effettua all'argomento è quindi limitata all'ambito della subroutine.
    ByRef: alla funzione arriva un riferimento all'argomento che le passa il chiamante; ogni modifica che la funzione effettua all'argomento si ripercuote anche sul chiamante.
    Ad esempio:
    codice:
    Public Sub Prova()
        Dim test As Integer
        test=5
        ArgByVal(test)
        MsgBox CStr(test) 'Visualizza 5
        ArgByRef(test)
        MsgBox CStr(test) 'Visualizza 10
    End Sub
    
    Public Sub ArgByVal(ByVal x As Integer)
        test=10
    End Sub
    
    Public Sub ArgByRef(ByRef x As Integer)
        test=10
    End Sub
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Manca l'indicazione del linguaggio utilizzato, che è obbligatoria come da Regolamento.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.