Newsgroup: it.comp.appl.access
Titolo: Istruzione END IF ignorata dal codice

Ho scritto un semplice codice per l'implementazione di immagini
prendendo spunto dal SITO COMUNE.
- ImmagineGioco è la variabile contenente il mio path
- Verificafile è una piccola funzione che controlla che non sia vuoto
il path
- Nella proprietà "Immagine" del controllo Immagine indico un file
creato appositamente per il caso in cui non vi siano immagini
disponibili (teoricamente, credo, potrei indicare qualsiasi file di
immagine).
Questo è il codice:
____________________________________________________________
[...]
Dim ImmagineGioco As String
ImmagineGioco = "..\Immagini\" & Me!NomeGioco & " (" & Me!ID_GBArl &
").jpg"
If VerificaFile(ImmagineGioco) = False Then
    GoSub ImgNonDisp
Else
    Me!imgImmagineGioco.Picture = ImmagineGioco
End If
Exit Sub
ImgNonDisp:
    Me!imgImmagineGioco.Picture = "..\Immagini\Immagine non
disponibile (0000).jpg"
End Sub
____________________________________________________________
Quando il codice (Verificafile = true) raggiunge l'istruzione "Me!
imgImmagineGioco.Picture = ImmagineGioco" salta poi direttamente a
"ImgNonDisp:" generando un errore di run-time 2220 (Impossibile aprire
il file '..\Immagini\Immagine non disponibile (0000).jpg')
Se però in visualizz. struttura della maschera clicko sulla proprietà
Immagine del controllo "Immagine" e (re)imposto il valore "..\Immagini
\Immagine non disponibile (0000).jpg" a quel punto tutto funziona a
meraviglia...almeno fino a che non chiudo e riapro il database.
Ma si può sapere che cavolo di errore commetto???
Grazie
Elio
XP HomeEd
AC00

 AC00
-- 
Ciao
Geppo 

 ha scritto nel messaggio 
news:f6cf8c99-ec05-459f...@64g2000hsu.googlegroups.com...





Exit Sub

End Sub
____________________________________________________________



XP HomeEd
AC00
--------------  RISPOSTA  ---------------
Per quanto ne so io, un routine richiamata col gosub deve essere chiusa col 
return, che non vedo fra le istruzioni. Comunque, se vuoi utilizzare il 
sistema con le subroutines, ti consiglio di scegliere le "private sub" - 
"end sub" (da collocare alla fine dopo la tua routine principale), così non 
avrai problemi di interpretazione.
Ciao
Antonio


GoTo non GoSub
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access

 - Mostra testo citato -
Allora il mio DB è nella cartella "DB", la quale contiene anche la
cartella "Immagini". Per quel (poco) che ne so io dovrei indicare un
file nella cartella immagini con ".\immagini\nomefile", dove il punto
sta per cartella corrente, ma così facendo mi genera errore (anche
nella proprietà immagine del controllo immagine). Se invece indico il
percorso con "..\Immagini\NomeFile" (che in teoria dovrebbe salire
alla cartella precedente, cioè quella che contiene anche il DB)
funziona correttamente, salvo non funzionare dopo che riavvio il DB.

 - Mostra testo citato -
Col GoTo non mi legge poi l'istruzione End IF, ma in ogni caso non
funziona e non è per quello perchè ho provato a eliminarlo cambiando
lìordine delle istruzioni ed il risultato è il medesimo.

 ha scritto nel messaggionews:f6cf8c99-ec05-459f...@64g2000hsu.googlegroups.com...

Ho eliminato il gosub ma....niente da fare.

>> ____________________________________________________________
-- 
Ciao
Geppo 

l=ECordine delle istruzioni ed il risultato =E8 il medesimo.
Io personalmente quando lavoro con immagini che non so se ci sono o no nella directory, uso questo sistema e non ho mai avuto problemi: popolo tutti i percorsi immagine (non importa se poi l'imm ci sia) poi quando assegno il .picture metto un OnError goto Err_imm e sulla gestione dell'errore, facendo finta che PercImm sia la variabile che trova il percorso, impongo PercImm = percorsochevuoi\ImmagineDefault.jpg, dove ImmagineDefault è un'immagine che mi dice che non c'è l'immagine.......
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it


metti End if dopo l'etichetta in cui salti
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it



GEPPO SEI UN GRANDE GRAZIE!!!!!!!!!!!!
OVVIAMENTE GRAZIE ANCHE A MA E Fair 87CHE MI AVEVANO INDICATO SRADE
DIFFERENTI.
GRAZIE RAGAZZI.
ALLA PROX!
:-)
ELIO

 - Mostra testo citato -
Volevo scusarmi per il caps, non mi sono accorto; ed aggiungere che
grazie a Fair87 mi sono deciso a snellire il codice, come avevo già
pensato di fare. Ora è così:
_________________________________________________________________________________________
On Error GoTo ImgNonDisp
Dim ImmagineGioco As String
ImmagineGioco = Application.CurrentProject.Path & "\Immagini\" & Me!
NomeGioco & " (" & Me!ID_GBArl & ").jpg"
     Me!imgImmagineGioco.Picture = ImmagineGioco
Exit Sub
ImgNonDisp:
    Me!imgImmagineGioco.Picture = Application.CurrentProject.Path &
"\Immagini\Immagine non disponibile (0000).jpg"
End Sub
_________________________________________________________________________________________
GRAZIE (e qui un urletto ci vuole) ancora e saluti a tutti.
Elio