28/11/2022 - Jan ha scritto:
CurrentDir -nel caso da te indicato- indica il percorso completo del fine. Ad esempio, c:\pippo\pluto.txt.
Se è così, allora perché usi un percorso di file in una istruzione dove invece è richiesto il percorso di una directory, come nello spezzone qui di seguito?
FolderBrowserDialog1.SelectedPath = currentDir
28/11/2022 - Jan ha scritto:
Comunque, ho effettuato più volte il debug passo per passo e non ho rilevato (purtroppo!!!!) alcun errore.
Capirai anche tu che sono piuttosto basse le probabilità che tu abbia eseguito il programma passo per passo, che tu abbia verificato il valore dei percorsi che ottieni, che tu abbia verificato siano tutti validi, ma nonostante ciò il programma si continua a comportare diversamente da come appare: delle due l'una, o hai sbagliato a fare il debug, o hai sbagliato a verificare i risultati.
Ad ogni modo, su come hai proceduto o sui valori che hai ottenuto, ricostruendo un percorso di esempio, non hai fornito alcuna indicazione, quindi - al netto di dirti che il debug funziona e che l'esecuzione corrisponde per forza al risultato - non è possibile dirti dov'è che hai sbagliato.
28/11/2022 - Jan ha scritto:
La riga testPath -ad esempio- mi restituisce esattamente la stringa che path.combine si aspetta.
Nel codice che hai inizialmente riportato, quella riga è commentata, quindi non viene eseguita e non può restituire alcunché.
28/11/2022 - Jan ha scritto:
So che c'è un errore, ma non lo trovo!
Ripeto: se esegui il programma passo per passo, l'errore spunterà fuori prima o poi. Quando ciò accadrà, analizza il contenuto delle variabili e verifica quale di queste contiene un valore diverso da quello atteso, metti dei “breakpoint” prima per fermare l'esecuzione anticipatamente al momento in cui quel valore viene determinato, controlla che esso sia corretto.
E' matematicamente impossibile che tu riesca a eseguire il programma, ottenere l'errore ma non vedere dov'è l'errore: l'errore è localizzato nel punto in cui esso si verifica… se si verifica, è lì, se non si verifica, allora il programma è corretto. :D