Newsgroup: it.comp.lang.visual-basic
Titolo: La lunghezza dei nomi dei file

Sono sempre alle prese con l'errore "MaxFileSize troppo piccolo" capitato a
un mio amico olandese, e sto cercando la soluzione.
Quanto può essere lungo il nome di un file (Win 95/98)? C'è modo di
intercettare questo valore nel Registro di configurazione? La CommonDialog
può impedire l'introduzione di nomi scorretti ma ho notato che lascia
digitare nomi più lunghi del consentito valore di default di MaxFileSize
(256). Poi dà un messaggio di errore.
Può essere allora che l'errore MaxFileSize troppo piccolo dipenda da un
valore del Registro?!
Grazie
Francesco

 wrote in message
7o43mr$39g$1...@nslave1.tin.it...


Grazie dell'interessamento!
Riassumo il mio precedente messaggio al NG.
Un mio amico olandese riceve sempre un messaggio di errore sinistro quando
tenta di salvare un file con una mia applicazione.  Ecco il testo del
messaggio di errore come lo ho riprodotto in italiano.
"Errore 20476. Il buffer della proprietà Filename è troppo piccolo.
Impossibile memorizzare i nomi di file selezionati. Aumentare il valore di
MaxFileSize".
Il Flag cdlOFNAllowMultiselect non è impostato e quindi il valore di default
256
dovrebbe essere sufficiente. O no? Ci sono differenze tra i vari sistemi a
32 bit?
Anche il Flag cdlOFNExplorer non è impostato: mi sembra di capire che se non
c'è cdlOFNAllowMultiselect, cdlOFNExplorer è inutile.
Ecco il testo del programma:
With CommonDialog1
.CancelError = True
.Flags = cdlOFNHideReadOnly Or cdlOFNNoReadOnlyReturn Or cdlOFNPathMustExist
Or cdlOFNOverwritePrompt
.Filter = App.Title & " (*" & MyExtension & ")|*" & MyExtension
.FilterIndex = 1
.filename = EliminaCaratteriProibiti(Text1(2).Text) & MyExtension
.DefaultExt = Mid$(MyExtension, 2)
End With
CommonDialog1.ShowSave (il programma si blocca qui, almeno nei miei test,
quando ho provato ad dare a MaxFileSize valori molto piccoli)
Ho pensato: che possa dipendere dall'avere inserito la chiamata alla
funzione EliminaCaratteriProibiti nel blocco With? Oppure, la versione della
ComDlg32.dll che usa il mio amico non riconosce 256 come valore di default e
quindi potrebbe essere sufficiente aggiungere nel blocco With l'istruzione
.MaxFileSize = 256?
Questo è quanto. Grazie.
Francesco


Non so se questo ti aiuta, ma la lunghezza massima di un nome file è 260, non
256:
Public Const MAX_PATH = 260
e anche MaxFileSize ha il suo default a 260.
Ciao
Flavio Ronco
--
f.ronco@*NonMiServeNiente*
flashnet.it
http://www.metabrains.com
  [Under Construction]
-------------------------------------------------------------
"Che pubblico in gamba! Se ci dite dove lavorate,
domani mattina se abbiamo tempo vi veniamo a vedere"
[Paolo Rossi]

 With CommonDialog1
....


 --
Ma come? La guida di VB5 dice chiaramente che il default di MaxFileSize è
256. Forse con VB6 hanno aggiustato questo valore?
Intanto il mio amico Olandese mi ha mandato COMDLG32.DLL. Se non sentirete
più mie notizie vorrà dire che quel file mi avrà fatto scoppiare il
Computer!
Ciao
Francesco

Notizia dell'ultima ora. Ho ricevuto COMDLG32.DLL (olandese) e riesco a
salvare tranquillamente con il mio programma. E' anche l'occasione per
imparare qualche parola in olandese.
Mah!
Francesco

 wrote in message
7o4kk1$9ft$1...@nslave1.tin.it...
