Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103

    [VB6] Permesso negato creazione cartella

    Ciao a tutti.
    Ho un problema con la creazione di una cartella: nel form principale del mio programma ho quattro pulsanti, uno dei quali si chiama "ELABORA FILE". Questo comando serve appunto per elaborare i file (PDF) che si trovano in una cartella. Nello specifico si creano due sottocartelle ("BOLLE" e "CERT") che contengono rispettivamente i pdf relativi alle bolle e i pdf relativi ai certificati. Al termine dell'elaborazione, una volta inseriti i file nel database, elimino le due sottocartelle e ritorno al form principale (quello con i quattro pulsanti). E fin qui tutto ok! Il problema è questo: se chiudo il programma e lo faccio ripartire, tutto bene. Se invece dalla finestra principale clicco di nuovo sul pulsante "ELABORA FILE", al momento della creazione delle sottocartelle mi dà errore: "Permesso negato".
    Qualcuno sa spiegarmi il perchè?
    Grazie mille!

    Codice che genera errore:
    codice:
    'Se Tipo = "QRCERT.V1", sposto il file nella cartella "Cert", altrimenti lo sposto nella cartella "Bolle"...
        'Non elimino gli eventuali file senza QRCode...
        If Tipo = "QRCERT.V1" Then
            contCert = contCert + 1
            If contCert = 1 Then
                'Creo cartella "Cert"....
                If Fso.FolderExists(strCartellaCert) = False Then
                cartellaCert.CreateFolder (strCartellaCert)
                End If
            End If
            Fso.CopyFile nomeAssFile, strCartellaCert
            'Elimino i file dalla cartella di default...
            Set fsoFiles = Fso.GetFolder(txtFile.Text).Files
            Fso.DeleteFile (nomeAssFile)
        ElseIf Tipo = "QRBOLLA.V1" Then
            contBolle = contBolle + 1
            If contBolle = 1 Then
                'Creo cartella "Bolle"...
                If Fso.FolderExists(strCartellaBolle) = False Then
                cartellaBolle.CreateFolder (strCartellaBolle)
                End If
            End If
            Fso.CopyFile nomeAssFile, strCartellaBolle
            'Elimino i file dalla cartella di default...
            Set fsoFiles = Fso.GetFolder(txtFile.Text).Files
            Fso.DeleteFile (nomeAssFile)
        End If
        
    Next

    In particolare le due seguenti righe:
    codice:
    cartellaCert.CreateFolder (strCartellaCert)
    codice:
    cartellaBolle.CreateFolder (strCartellaBolle)


    Codice che uso per eliminare le due sottocartelle alla fine dell'elaborazione dei file:

    codice:
    If cmdSalvaBolla.Value = True Then   'Se è stato eseguito il comando "Salva"...
    
        Dim Fso As New FileSystemObject
        Dim CartellaBase As Folder
        Dim FsoFolder As Folder
    
        Set CartellaBase = Fso.GetFolder(strCartellaDefault)
    
        For Each FsoFolder In CartellaBase.SubFolders
    
            Debug.Print FsoFolder.Name
    
            If FsoFolder.Name = "Bolle" Then
                FsoFolder.Delete
            End If
    
        Next
        
    End If

    codice:
    If cmdSalva.Value = True Then   'Se è stato eseguito il comando "Salva"...
    
        Dim Fso As New FileSystemObject
        Dim CartellaBase As Folder
        Dim FsoFolder As Folder
    
        Set CartellaBase = Fso.GetFolder(strCartellaDefault)
    
        For Each FsoFolder In CartellaBase.SubFolders
    
            Debug.Print FsoFolder.Name
    
            If FsoFolder.Name = "Cert" Then
                FsoFolder.Delete
            End If
    
        Next
        
    End If

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    E' come se le due sottocartelle fossero state cancellate (come in realtà è!) ma il programma le vedesse ancora! E' possibile fare un "aggiornamento" del contenuto di una cartella?

  3. #3
    Per caso le due cartelle stanno sotto c:\Programmi o simili?
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    No...La cartella principale è sul desktop...
    Se chiudo il programma e lo rilancio, funziona tutto!
    Se invece rilancio il comando "ELABORA FILE" (senza chiudere il programma), mi dice "permesso negato"...
    Non capisco!!
    Comunque grazie!

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Provvedi ad eliminare le varie istanze dell'oggetto che gestisce il file system. Ad esempio

    Set fsoFiles = Nothing
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Grazie mille! Vado a farlo!

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Ho modificato così il codice:

    codice:
    'Creo cartella "Bolle"...
    Set cartellaBolle = Nothing
    Set cartellaBolle = New FileSystemObject
    If fso.FolderExists(strCartellaBolle) = False Then
         cartellaBolle.CreateFolder (strCartellaBolle)
    End If

    ma di nuovo "permesso negato"!!

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non dicevo prima dell'uso ma dopo l'uso ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Niente anche se lo metto DOPO l'uso...

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Ho notato che dopo che ho cancellato le sottocartelle, se apro la cartella di default prima di chiudere il programma, queste si vedono ancora, ma se ci clicco sopra per aprirle mi dice "permesso negato". Quando invece chiudo il programma, le sottocartelle spariscono...
    E' proprio questo il problema!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.