IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Limitations avec le compo ZipMaster?


Sujet :

Delphi

  1. #1
    Invité de passage
    Femme Profil pro
    pape n'aimant pas les censeurs
    Inscrit en
    Janvier 2010
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vatican

    Informations professionnelles :
    Activité : pape n'aimant pas les censeurs

    Informations forums :
    Inscription : Janvier 2010
    Messages : 803
    Par défaut Limitations avec le compo ZipMaster?
    Bonjour,

    1) J'utilise le composant zipMaster dans une application Delphi pour zipper et dezipper des arborescences (fichiers et sous-repertoires)

    2) Je "zippe" un répertoire principale ainsi que l'ensemble de son arborescence


    Problème: Au moment de dezipper le fichier zip obtenu, le dezip ne fournit pas les sous-répertoires au-delà du 16ème niveau

    Exemple: Avec 15 niveaux de sous-répertoires dans un même fichier zip:
    - Si je dezip dans c:\DezipDestination\ >>> Le dezip est complet
    - Si je dezip dans c:\DezipDestination\DestinationFolder\ >>> Il manquera les répertoires du dernier sous-niveau

    Y-a-t-il un paramètre dans zipMaster qui limite le nombre de sous-niveaux?

    Est-ce le chemin de destination du fichier à dézipper qui est trop long pour Windows (Win7 pro)?

    Merci d'avance à tous ceux qui pourraient m'éclairer...

  2. #2
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Il y a une limitation dans Windows: la longueur du chemin + celle du nom de fichier doit être inférieure à 256.
    Tu peux créer des fichiers qui ne respectent pas cette règle mais tu ne peux pas les déplacer, copier, etc.

    Mais je ne sais pas si c'est ton problème. 15 (16-1) a l'air d'être une limitation du composant, le format zip n'a pas de telle limitation à ma connaissance.
    Essaie de créer une arborescence de 16 répertoire d'une lettre chacun, pour voir si la limitation est sur la profondeur de répertoire.

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    En écrivant le chemin ainsi, tu seras limité à 260 caractères (MAX_PATH). Essaye en le préfixant par \\?\ pour passer à 32k caractères : \\?\c:\DezipDestination\DestinationFolder\...

  4. #4
    Invité de passage
    Femme Profil pro
    pape n'aimant pas les censeurs
    Inscrit en
    Janvier 2010
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vatican

    Informations professionnelles :
    Activité : pape n'aimant pas les censeurs

    Informations forums :
    Inscription : Janvier 2010
    Messages : 803
    Par défaut
    Merci à vous deux pour votre avis.

    Après essai, je constate que ce n'est pas une limitation du composant (une arborescence avec des noms de répertoire très courts permet de dezipper un nombre de niveau supérieur à 16).

    Le problème a donc bien pour origine la longueur max du chemin accepté par Windows.


    N'ayant jamais utilisé ce préfixe "\\?\", j'aurai 2 petites questions:

    - Pour la mise en oeuvre, il suffit d'ajouter le préfixe devant le chemin "réel" localisant le répertoire/fichier à zipper?

    - Est-ce que ce préfixe est compatible avec les différentes versions de Windows

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Citation Envoyé par NSKis Voir le message
    - Pour la mise en oeuvre, il suffit d'ajouter le préfixe devant le chemin "réel" localisant le répertoire/fichier à zipper?
    Oui
    Citation Envoyé par NSKis Voir le message
    - Est-ce que ce préfixe est compatible avec les différentes versions de Windows
    Il le sera. Voir encore si ton composant ne crée pas lui-même des buffers de longueur MAX_PATH, sinon c'est cuit !

    Un peu de lecture ici

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplir un dbgrid avec un compo adodc
    Par pierre2410 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/05/2007, 10h24
  2. [SQL] Limitation avec tri
    Par navis84 dans le forum Oracle
    Réponses: 30
    Dernier message: 03/10/2006, 13h47
  3. [Configuration] nombre de scripts limité avec buffers de sorties
    Par alcor dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 08/04/2006, 22h59
  4. [Kylix] Portage application avec les compos Apros
    Par cedricgirard dans le forum EDI
    Réponses: 1
    Dernier message: 21/10/2004, 16h40
  5. Allocation memoire Limité avec TurboC
    Par sebastien51 dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 15/10/2003, 23h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo