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

Lazarus Pascal Discussion :

Droits d'écriture sous Windows 10 [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Points : 172
    Points
    172
    Par défaut Droits d'écriture sous Windows 10
    Bonjour.

    J'ai développé un programme sous XP avec lazarus 1.6.
    J'utilise un composant TIniPropStorage pour stocker un certain nombre de propriétés au moment de quitter le programme. Tout fonctionne très bien sous XP, un fichier config.ini étant créé dans le répertoire d'installation du programme et les propriétés parfaitement restaurées au prochain lancement.

    J'ai installé le programme sur la machine de mon fils qui tourne sous W10, mon fils n'étant pas administrateur. Tout semble bien fonctionner mais les propriétés censées être sauvegardées puis restaurées ne le sont pas. Cependant, aucun message d'erreur à la sortie du programme.

    Après vérification, le fichier config.ini n'est pas créé dans le répertoire d'installation (program files x86 ...).

    Pour en avoir le cœur net, j'ai lancé le bloc-notes et tenté de sauvegarder un fichier texte dans le dit répertoire d'installation et j'ai un message m'indiquant que je ne dispose pas des droits pour écrire dans "program files ...".

    Le problème semble donc bien être un problème de droits sous W10 (beaucoup plus strict que XP !).
    Y a-t-il une solution ?

    D'avance merci pour vos réponses. Christian

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut


    il faut regarder les droit du répertoire ou se trouve le fichier ini
    ajouter le cas échéant les droit manquant
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Comme le TIniPropStorage a sa propriété inifilename modifiable, il vaut mieux choisir un répertoire ne nécessitant pas d'élévation de privilège. Sous W10, 'C:\Documents and Settings\{USER_NAME}\AppData' semble idéal car fait pour !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Bonjour,

    Citation Envoyé par tourlourou Voir le message
    Comme le TIniPropStorage a sa propriété inifilename modifiable, il vaut mieux choisir un répertoire ne nécessitant pas d'élévation de privilège. Sous W10, 'C:\Documents and Settings\{USER_NAME}\AppData' semble idéal car fait pour !
    Entièrement d'accord. Cependant, plutôt que d'insérer le chemin en dur, Lazarus propose des fonctions très utiles dans l'unité Sysutils :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function GetTempDir(Global : Boolean) : String;
    Function GetTempDir : String;
    Function GetTempFileName(Const Dir,Prefix : String) : String;
    Function GetTempFileName : String;
    { For windows compatibility }
    function GetTempFileName(Dir,Prefix: PChar; uUnique: DWORD; TempFileName: PChar):DWORD;
    Function GetAppConfigDir(Global : Boolean) : String;
    Function GetAppConfigFile(Global : Boolean) : String;
    Function GetAppConfigFile(Global : Boolean; SubDir : Boolean) : String;
    Function GetUserDir : String;
    Function VendorName : String;
    Function ApplicationName : String;
    GetUserDir est particulièrement intéressante pour les informations publiques alors que GetAppConfigDir est idéale pour stocker des informations de configuration. Quant à GetTempDir, je laisse deviner son utilité .
    Les avantages sont multiples : adaptation à toutes les machines et fonctionnement multiplateforme (j'ai cependant rencontré quelques couacs avec des versions de Linux). A priori, le même code peut servir pour Win10 et XP...
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

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

Discussions similaires

  1. droits d'écriture sous windows 7
    Par salihovic dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/09/2010, 17h34
  2. droit d'écriture dans windows
    Par sky88 dans le forum Sécurité
    Réponses: 2
    Dernier message: 19/10/2008, 22h24
  3. droits avec copy() sous windows
    Par viny dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2008, 12h57
  4. Droits des répertoires sous Windows
    Par MiJack dans le forum Langage
    Réponses: 3
    Dernier message: 08/04/2008, 14h31
  5. Gestion des droit d'acces sous windows
    Par MSM_007 dans le forum Windows XP
    Réponses: 1
    Dernier message: 18/10/2007, 08h40

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