13/11/15 16:45
Snogar
Nessuno sforzati di capire anche quello che dicono gli altri ....si il SaveFileDialog serve a scegliere un percorso e in virtù di questo puoi gestire la cosa .....non so se non vuoi far scrivere nella cartella di sistema compari il percorso scelto dall'utente con System.Environment.SystemDirectory e nel caso sono uguali gli mandi un messaggio di "Non puoi salvare qui il tuo file" .... che è più o meno quello che vuole fare l'utente che ha aperto il topic ....o no?
aaa
13/11/15 17:46
Snogar
Questo lo hanno capito tutti ....ma al momento l'unica soluzione praticabile era quella postata da Ultimo.
aaa
13/11/15 19:18
Ultimo dice di usare un controllo SaveFileDialog.
Non dice di fare confronti.
Non dice di controllare la radice.
Non dice come comportarsi su altri percorsi vietati.
Ma ti pare una "soluzione" ?
Tu dici che tutti hanno capito ... Ultimo dice che è arabo ...
Io non lo so ... non voglio essere polemico ma non si possono scrivere cose assurde ...
Ultima modifica effettuata da 13/11/15 19:19
13/11/15 21:01
TheDarkJuster
Io concordo con nessuno, come scegli la directory è un problema di gusti dell'utilizzatore. So perfettamente che ottenere una lista delle directory di sistema è alquanto brutto e non esclude altri problemi futuri ma anche presenti, tuttavia è la soluzione migliore a cui sono riuscito ad arrivare..... È sempre meglio di affidarsi al nulla, considerato il comportamento dell'ambiente su cui gira il programma..... Se le eccezioni non sono d'aiuto non so come altro risolvere.......
aaa
14/11/15 9:41
bgiorgio
Aggiornamento:
Lo stesso frammento di codice, se eseguito in un progetto nuovo risponde correttamente con l'eccezione intercettabile, rendendo tutto semplice e trasparente; se eseguito nel progetto "storico" (con un centinaio di classi all'interno), reindirizza il file nella cartella utente senza sollevare nessuna eccezione.
Proprio bene.
Entrambi i programmi eseguiti come utente, non come amministratore.
Pare che ci sia un malfunzionamento nel progetto che instaura un qualche tipo di risposta anomala da parte del programma. Reindirizzare un file senza darne avviso è ovviamente qualcosa di non accettabile.
Riguardo la piccola polemica qui sopra, mi spiace se ho scritto in una lingua poco comprensibile, ma il frammento di codice non comprende la parte di selezione del fileName solo per concentrare l'attenzione sulla parte critica. Ovviamente ci sarà la form di selezione e tutti i controlli sulla validità del path, la sua esistenza, la congruità dell'estensione e quant'altro.
La soluzione di escludere per confronto i path non ammessi la vedo una soluzione complessa e non affidabile. Per risolvere questioni come queste c'è "Try", è fatto apposta. Tutto il thread è riguardo al fatto che ho un progetto dove l'eccezione in alcuni casi non viene sollevata.
aaa
14/11/15 12:58
Postato originariamente da bgiorgio
solo per concentrare l'attenzione sulla parte critica.
Chiaramente ...
Ovviamente
Ovviamente
la vedo una soluzione complessa e non affidabile.
Esatto.
Tutto il thread è riguardo al fatto che ho un progetto dove l'eccezione in alcuni casi non viene sollevata.
Chiaro.
Per tornare al problema, sicuramente non potrai postare il progetto (che sarà complesso e magari riservato) ma potresti ridurlo eliminando tutto il possibile in modo che il problema sia ancora evidente e tu possa postare uno zip da provare.
Ultima modifica effettuata da 14/11/15 13:00