1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Erreur dans l'exécution d'application hors IDE

    Bonjour,

    Je cherche désespérément de l'aide pour un souci que je n'arrive pas à résoudre.

    J'ai créé un petit programme, assez simple, sous Win7 via Lazarus.
    Comme il doit tourner sur des OS X, j'ai installé Lazarus sur un Mac, afin de recompiler le programme et le rendre compatible.

    Après quelques légères modifications, le programme tourne bien et tout fonctionne quand je le compile sous Lazarus. C'est un petit logiciel qui prend deux entrées texte d'un utilisateur dans une Form, et les renvoie dans un fichier .txt qu'il crée, puis édite lors des entrées suivantes. Jusque là pas de souci.

    En revanche, si je lance l'appli en direct hors Lazarus (le .app), le programme se lance normalement, mais quand je clique le bouton qui doit lancer la création/édition du .txt, j'ai le message suivant :

    Access Denied
    Press OK to ignore and risk data corruption
    Press cancel to kill the program

    -> Quand je "press cancel" ça kill le program
    -> Quand je "press ok" le programme continue, mais le fichier txt n'est pas créé.

    Si quelqu'un a une idée je suis hyper preneur... je suis en plus dans l'urgence, car j'ai réussi à récupérer un mac pour travailler dessus ce week-end, mais je ne l'ai plus que pour la journée, après ç'en est fini de moi ! Mille merci si vous pouvez me sauver !

    Merci !

  2. #2
    Membre confirmé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 328
    Points : 625
    Points
    625
    Billets dans le blog
    1

    Par défaut

    Access Denied
    C'est un problème de droits d’accès en écriture du répertoire. Vérifie que le propriétaire du programme et le propriétaire du répertoire sont les mêmes

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 411
    Points : 915
    Points
    915

    Par défaut

    Bonjour

    Quel sont les chemin et nom du fichier que tu veux créer ?
    Peux-tu le créer avec un éditeur de texte sans utiliser ton programme Lazarus ?

    Je parierais que tu ne mets pas de chemin, et dans ce cas le dossier par défaut doit être le dossier où se trouve l' app ou l'exe, qui est sans doute inaccessible en écriture à l'utilisateur standard qui exécute le programme.
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    Merci beaucoup pour vos réponses. J'ai fait un petit tour dans les droits d'accès et j'ai bien rwx pour tous les répertoires et fichiers ; par ailleurs j'ai spécifié un sous-dossier pour écrire les fichiers textes, dans mon répertoire de travail. Pas de problème non plus pour en créer de similaires depuis un éditeur de texte.

    Par ailleurs en vérifiant dans le terminal, j'ai bien le même propriétaire pour tous les dossiers/sous-dossiers et programme.

    Encore une fois, ce qui m'étonne c'est que tout fonctionne lorsque compilé sous Lazarus, mais plus en lancement autonome. Et tout fonctionne sur Windows...

    Je laisse l'ensemble du projet dans un zip sur ce lien : https://mega.nz/#!N3ADmAoT!s71gIY_z9...DHfAQsqU6yNp-Y

    Je suis sûr que ce n'est pas grand chose... mais je ne suis pas utilisateur mac d'habitude, alors je découvre et il se peut qu'un détail me bloque. Mais ça me bloque vraiment bien !

  5. #5
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 654
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 654
    Points : 7 765
    Points
    7 765

    Par défaut

    Citation Envoyé par JCo78 Voir le message
    Encore une fois, ce qui m'étonne c'est que tout fonctionne lorsque compilé sous Lazarus, mais plus en lancement autonome. Et tout fonctionne sur Windows...
    Fais afficher dans un TEdit (suffisamment large pour que tout y rentre) le nom du fichier qui doit être enregistré, et tu verras vite avec tes yeux où ça coince.

    EDIT : tiens, cette simple petite phrase ci-dessus a récolté un pouce rouge : le moinseur peut-il m'expliquer pourquoi, que je ne meure pas idiot ? Merci,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Membre confirmé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 328
    Points : 625
    Points
    625
    Billets dans le blog
    1

    Par défaut

    Bonjour,
    Juste pour voir, je viens de tester sous Linux et tout fonctionne même la version compilée seule. j'ai quand même dû créer un sous-répertoire Textes donc vérifie ce sous-répertoire (attention aux majuscules aussi, Mac est case sensitive il me semble).

  7. #7
    Expert éminent
    Avatar de Jipété
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    5 654
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juillet 2006
    Messages : 5 654
    Points : 7 765
    Points
    7 765

    Par défaut

    Citation Envoyé par JCo78 Voir le message
    Encore une fois, ce qui m'étonne c'est que tout fonctionne lorsque compilé sous Lazarus, mais plus en lancement autonome. Et tout fonctionne sur Windows...
    Ah, j'ai oublié de le relever dans ma précédente réponse, il y a une erreur dans l'énoncé : le nombre de gens qui confondent "compilé par Lazarus" et "exécuté dans l'environnement de Lazarus", c'est phénoménal !
    Et pourtant ça n'a rien à voir.

    Donc le vrai problème doit être que tout fonctionne lorsque exécuté dans l'environnement de Lazarus, mais plus en lancement autonome.

    Et du coup,
    Citation Envoyé par Michel Voir le message
    j'ai quand même dû créer un sous-répertoire Textes donc vérifie ce sous-répertoire (attention aux majuscules aussi, Mac est case sensitive il me semble).
    ces hypothèses ne collent pas avec la réalité de l'énoncé corrigé du problème.
    S'il s'agissait d'un problème de casse, on l'aurait dans les deux contextes : dans l'environnement de l'EDI et en autonome, ce qui n'est pas le cas, donc c'est pas ça.
    Pareil pour la présence/l'absence d'un sous-dossier, qui peut facilement être réglée avec la fonction ForceDirectories(target);, voir l'aide pour les détails.

    J'insiste sur mon idée de faire afficher le chemin complet du fichier à enregistrer, pour voir et comprendre ce qui se passe, indépendamment des pouces rouges qui ne veulent rien dire si leur présence n'est pas expliquée...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  8. #8
    Membre confirmé

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    mars 2002
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2002
    Messages : 328
    Points : 625
    Points
    625
    Billets dans le blog
    1

    Par défaut

    C'est peut-être une règle de sécurité su Mac
    L’app que vous essayez d’ouvrir n’a pas été enregistrée auprès d’Apple par un développeur identifié.
    voir https://support.apple.com/kb/PH14369?locale=en_US&viewlocale=fr_FR
    On y trouve :
    Pour passer outre vos réglages de sécurité et ouvrir l’application malgré tout :

    1. Dans le Finder, repérez l’app que vous souhaitez ouvrir. N’utilisez pas Launchpad. Launchpad ne vous permet pas d’utiliser le menu contextuel.
    2. Appuyez sur la touche Contrôle, puis cliquez sur l’icône de l’application.
    3. Choisissez Ouvrir dans le menu contextuel.
    4. Cliquez sur Ouvrir. L’application est enregistrée en tant qu’exception dans vos réglages de sécurité et vous pourrez l’ouvrir par la suite en double-cliquant dessus, comme n’importe quelle application enregistrée.



  9. #9
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    411
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 411
    Points : 915
    Points
    915

    Par défaut

    Une autre hypothèse, que j'ai déjà vécue à mes dépends : le .app exécuté n'est pas celui qui a été compilé et construit avec l'EDI

    Autrement dit : est-ce qu'une petite modification visible en exécutant depuis l'EDI, est aussi visible en lançant le .app ?
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    juillet 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Bonsoir,

    Merci à tous pour vos réponses précises et détaillées.
    Je passe tout ça en revue dès que j'arrive à remettre la main sur un mac... dans les jours prochains j'espère !
    Et je vous raconterai comment ça se passe !

    A très vite ! Merci encore !

  11. #11
    Membre actif
    Inscrit en
    juin 2012
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : juin 2012
    Messages : 113
    Points : 204
    Points
    204

    Par défaut

    Je viens de tester sous Linux et l'exécutable depuis Lazarus me dit "File not found", et c'est normal, le répertoire Textes n'est pas créé ! Si je l'ajoute manuellement en sous répertoire de ProgChoeurTest tout va bien.
    En conséquence avant de sauvegarder le fichier il faut vérifier l'existence du répertoire avec directoryexists et le créer avec mkdir si il n'existe pas.
    Edit:
    Ça marche chez toi à l'exe parceque le répertoire existe chez toi mais dès que tu déplaces le produit compilé ailleurs plus de répertoire et donc couic.

Discussions similaires

  1. Erreur dans l'exécution d'une requête
    Par ouinih dans le forum SQL
    Réponses: 3
    Dernier message: 11/06/2008, 23h32
  2. cron erreur dans l'exécution d'un script
    Par Carhod dans le forum Unix
    Réponses: 1
    Dernier message: 31/01/2008, 13h23
  3. [OK] Erreur dans l'exécution d'un code de macro.
    Par Funcky222 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/09/2007, 21h35
  4. erreur dans l'exécution de Dlookup
    Par jessy212 dans le forum Access
    Réponses: 3
    Dernier message: 30/08/2006, 13h58
  5. Réponses: 3
    Dernier message: 09/08/2003, 10h39

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