Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [vb6] strano errore

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    [vb6] strano errore

    prevista variabile o routine non modulo
    cosa vuol dire questo errore quando chiamo una funzione ?
    timeDisp (key)
    e mi da errore


    la funzione che chiamo è dichiarata cosi
    Function timeDisp(code As Variant) As Integer

    come mai non va ?

  2. #2
    Forse perchè le parentesi che racchiudono gli argomenti della funzione vanno attaccate al nome della funzione stessa:
    codice:
    n = timeDisp(key)
               ^^^
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    no lo fa vb automaticamente

  4. #4
    Lo fa automaticamente solo perchè hai sbagliato la sintassi della chiamata della funzione, che puoi fare così:
    codice:
    'data la funzione...
    Function timeDisp(code As Variant) As Integer
       '...
    
       'valore di ritorno
       timeDisp = ...
    End Function
    
    Dim n As Integer
    Dim key As Variant
    
    'esempio di chiamata con restituzione di un valore:
    '(parentesi attaccata al nome di funzione)
    n = timeDisp(key)
    
    'se il valore di ritorno non mi interessa:
    '(parentesi attaccata al nome di funzione)
    Call timeDisp(key)
    
    'oppure:
    '(nessuna parentesi)
    timeDisp key
    E' comunque insolito scrivere una funzione e poi non prelevare il valore di ritorno, se non ti serve puoi sempre scrivere una Sub.
    Oltre a questo appunto, controlla la visibilità della function: all'interno dello stesso form (o modulo o classe) è sempre accessibile, tra oggetti diversi devi anteporre la parola chiave Public:
    codice:
    Public Function timeDisp(code As Variant) As Integer
    Chi non cerca trova.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    questa funzione la richiama da un if per analizzare il risultato ma il problema non è quello
    ho provato a chiamarla in tutti i modi ma niente da fare..
    è in un modulo .bas e ho provato a mettere anche il public ma nulla da fare continua a darmi sto errore

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    ho risolto rinominando la funzione in
    tempoDisponibile

    ora funziona.. non ho ancora capito perchè visto che non ci sono riferimenti a timedisp .. bho

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    ho capito perchè
    la funzione non può avere lo stesso nome del modulo in cui si trova

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.