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

VB 6 et antérieur Discussion :

[VB6-Vista] Compatibilité avec Vista, c:\program files\


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut [VB6-Vista] Compatibilité avec Vista, c:\program files\
    Salut le forum!
    J'ai développé une petite application en VBA sous windows XP. Elle fonctionne très bien sur mon poste, mais lorsque je veux la tester sur Vista, ba ça va plus
    Le problème viens d'une de mes fonction, qui doit normalement ecrire un fichier "Fic.txt". Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Sub EcritureCvs(nomfic As String, TabCvs1 As TabCvs)
     
        'assignation automatique d'un numero de travail pour le fichier
        Dim FreeFilenumber As Integer
        FreeFilenumber = FreeFile
     
        'ouverture du fichier
        Open nomfic For Output As FreeFilenumber
     
        'ecriture de la ligne i du tableau tabcvs1 dans le fichier
        Dim i As Integer
        i = 0
        For i = 0 To TabCvs1.nrblignes - 1
            Print #FreeFilenumber, TabCvs1.t(i)
        Next i
     
        'fermeture du fichier
        Close #FreeFilenumber
    Exit Sub
    Où TabCvs1 est un tableau contenant des données type "String" et où NomFic correspond à l'adresse du fichier ".txt" que je souhaite ecrire.

    Le fonction marche sur Xp mais sur Vista, je comprend pas pourquoi, elle s'exectute mais ne crée ou ne modifie pas le fichier txt...

    Quelqun est-il en mesure de m'expliquer ce mystère?? Ainsi qu'une façon de le résoudre?

    Merci d'avance,

    Tibaldus

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur VB6 et tout neuf en .Net
    Inscrit en
    Avril 2005
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VB6 et tout neuf en .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 377
    Par défaut
    Bonjour Tibaldus,

    Vérifie qu'il ne s'agit pas d'un problème de droit.
    Essaie avec un chemin où tu est sûr d'avoir le droit d'écrire.
    Tu n'as pas de message d'erreur ?

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    bonjour,

    si tu es (cette section) sous VB6, j'ai des difficultés à comprendre ceci
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 0 To TabCvs1.nrblignes - 1
            Print #FreeFilenumber, TabCvs1.t(i)
        Next i
    en comparaison avec celà :

    TabCvs1 est un tableau

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    En effet, je me suis mal expliqué
    En fait, TabCvs1 est un objet avec 2 attributs :
    t() -> Tableau de String
    nbreLigne -> nombre de ligne dans le tableau "t()"

    Sinon, pour répondre à Najdar, je n'ai pas de message d'erreur, et je suis bien dans un dossier où j'ai le "contrôle total" donc ça ne doit pas venir de là...

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    j'ai encore des difficultés !

    C'est quoi, les attributs d'un objet ?

    Quel est donc cet objet ?

    D'ou vient nrblignes ?

    Il va te falloir te montrer très précis, si tu veux de l'aide...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 40
    Par défaut
    ok, bon alors c'est parti pour une belle explication :
    L'application que j'ai developpé sert à faire des études de dimensionnement. Une fois les calculs terminés, je souhaite pouvoir sortir un rapport reprennant les résultats grace au publipostage de Word.

    Or, pour faire un publipostage, il me faut un fichier source comprennant les donnée. D'où la necessité de créer un fichier txt.
    Je dois donc avoir (dans mon fichier txt), sur la première ligne, les nom de mes données (BesoinJanvier;BesoinFevrier;BesoinMars;...), puis sur les ligne suivante, leur valeurs (12504;14354;10427;...).

    Voilà pour l'explication de l'objectif. Passons maintenant à l'explication du code que je vous ai fourni :

    Pour pouvoir créer mon fichier txt, j'ai besoin d'un tableau de "String", dont chaque élement correspond à une ligne.

    J'ai donc crée un nouveau type de variable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Type Tab
       t() as String
       nrbligne as integer
    end Type
    Je sais, c'est completement inutile, j'aurai pu utiliser un simple tableau mais je m'en suis rendu compte bien tard et ça serai trop long de tout modifier maintenant, donc je fais avec...

    On en reviens donc à la fonction "EcritureCvs" postée plus haut, qui est censée créer mon fichier txt.

    Voilà, j'espère avoir fourni un explication complète et compréhensible...

  7. #7
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Citation Envoyé par Tibaldus Voir le message
    Sinon, pour répondre à Najdar, je n'ai pas de message d'erreur, et je suis bien dans un dossier où j'ai le "contrôle total" donc ça ne doit pas venir de là...
    Qu'appel-tu 'contrôle total', sous Vista MEME SI TU EST L'ADMINISTRATEUR DU PC si tu ouvre VB ou une appli d'une façon 'Normale' tu ne l'ouvre qu'avec le 1er jeton.
    Pour avoir accès aux privilège d'administrateur (avoir le 2ém jeton) tu doit ouvrir VB ou l'appli en..
    Clic droit sur l'icône, et sélectionner 'exécuter en tant qu'admnistrateur'
    Si ton appli fonctionne sous XP, 95% de chances qu'elles fonctionnerra de cette façon.
    Tu peu aussi, sous Vista avoir des problèmes avec les OX/dll si oui voir C'est article.
    A+
    PS: J'ai déjà mis un tas de poste sur ce sujet.

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

Discussions similaires

  1. [Money 2005] Compatibilité avec Vista ?
    Par Aitone dans le forum Windows Vista
    Réponses: 9
    Dernier message: 01/12/2007, 09h53
  2. [VB6] Compatibilité avec Vista
    Par Tibaldus dans le forum Windows Vista
    Réponses: 13
    Dernier message: 16/11/2007, 17h24
  3. Compatibilité avec VIsta
    Par Edarian dans le forum Code::Blocks
    Réponses: 27
    Dernier message: 02/10/2007, 20h12
  4. Réponses: 2
    Dernier message: 22/08/2007, 14h39
  5. Compatibilite avec Vista
    Par Seth77 dans le forum Framework .NET
    Réponses: 10
    Dernier message: 02/02/2007, 13h39

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