Newsgroup: it.comp.lang.visual-basic
Titolo: CommonDialog fa impazzire VB

Ciao....
mi e' capitata una cosa strana...
nel momento in cui chiamo una .showopen il mio progetto di VB inizia a NON
trovare tutti i file che tento di aprire...
indipendentemente dal tipo... dai mdb ai txt.....
come mai?
il bello e' che se intercetto l'errore e stampo a video il path
incriminato, scopro che in realta' il path e' corretto, ed il file cercato
e' dove dovrebbe essere...
questo e' il codice
=========================================
Private Sub Command1_Click()
    With CommonDialog1
        .Filter = "mdb (*.mdb)|*.mdb"
        .ShowOpen
    End With
    Text1.Text = CommonDialog1.FileTitle
End Sub
=========================================
sottolineo il fatto che non riesce piu' a trovare NESSUN file...
non solo quello selezionato.
ciaoooooooooo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
prova ad aggiungere
.Flags = cdlOFNFileMustExist Or cdlOFNPathMustExist 'Or AllowMultiselect
.InitDir = directorydipartenza  ' es  app.path

[CUT]
  Text1.Text = CommonDialog1.FileTitle
cambia con
  Text1.Text = CommonDialog1.FileName
--
[CapoBecchino]

 come mai?
Se intendi dire che il tuo software, *dopo* che tu hai chiuso il cmdlg, 
non trova più i file, significa che tu cerchi i file nel modo 
sbagliato.
I percorsi relativi (ad esempio quelli che iniziano con punto), si 
basano su una cartella 'di partenza', che all'avvio dell'applicativo è 
app.path, ma che il cmdlg ha il diritto di modificare.
E' il motivo per cui, alla chiusura del cmdlg, bisogna sempre 
reimpostare la cartella corrente, perchè se per caso qualcuno ha 
sfogliato un floppy, e poi il floppy è stato tolto, ci si trova con 
miriadi di casini.
Era, tra l'altro, un bug di Word. Aprendo file .Doc da dischetto, se 
poi il floppy veniva tolto con Word ancora acceso (anche se il 
documento era chiuso), accadeva che Word, da lì per l'eternità, andasse 
sempre a cercare i .doc nel floppy.
Ciao
Alberto
-- 
I have a dream that my four little children
will one day live in a nation where they
will not be judged by the color of their skin
but by the content of their character.

"diska" <disc...@IONONCISTOtiscali.it> ha scritto nel messaggio
news:42c1b1d1$0$17085$5fc...@news.tiscali.it...

Meglio ancora:
.Flags = cdlOFNFileMustExist Or cdlOFNPathMustExist Or cdlOFNNoChangeDir
Se non fai cosě quando navighi utilizzando il common dialog viene cambiata la
dir. corrente del tuo programma.
E scommetto che i file che non trovi piů sono espressi con percorsi RELATIVI,
vero?
Č sempre meglio utilizzare i percorsi assoluti, senza dare per scontato che
CurDir = App.Path poiché ciň č vero solo in avvio.
Bye
Raf

 ..InitDir = directorydipartenza  ' es  app.path
Siiiiiiiiiiiii
era proprio lui il problema -----> InitDir = directorydipartenza  ' es 
app.path
Grazie :)


 Raf
Gia' uso percorsi relativi... per renderlo un po' piu' flessibile...
non mi va l'idea di dover cambiare tutti i path se cambio la posizione
della cartella :)
bye bye


 [CapoBecchino]
avrei dovuto omettere quella riga... crea solo pri pro quo.
in realta' ha il compito di mostrare all'utente il file che ha scelto..
ciaozzzzz


 Alberto
ehhhhhh si...
tutta colpa dell'arroganza di commondialog...
si prende troppe libertà...
avevo guardato gli esempi sulla rete e sull'MSDN per capire se dopo una
open chiamavano un altro comando, e non avendo visto nulla non sapevo che
pesci pigliare...
avrebbero dovuto mettere un 
WARNING:ricordate di reimpostare la directory corrente, altrimenti vi
ritroverete dei software come i nostri che non funzionano bene.
byezzzzzzzz


 andasse sempre a cercare i .doc nel floppy.
E anche altri SW, che, non si sa per quale motivo, vanno a vedere
se ci sono ancora i file presenti nella MRU.
Se nella lista ci sono file aperti in rete o da dischetto, aspetta e spera... :-(.
Bye, G.