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 :

[Linux] Pourquoi la même instruction s'exécute ou plante, selon le programme ? [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut [Linux] Pourquoi la même instruction s'exécute ou plante, selon le programme ?
    Bonjour,

    Aujourd'hui, un peu de magie…

    Soit un programme de test des données Exif récupéré dans le paquet complet du projet dExif 1.5, je veux parler du tout premier exemple dans le dossier 00_Basic, qui ne contient quasiment rien, qu'on en juge (je ne mets que ce qui est important pour ma question) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var
      MyFileName : String;
      ImgData: TImgData;
    begin
      MyFileName:= FileOpen.Dialog.FileName;
      if FileExists(MyFileName) then begin
        Image1.Picture.LoadFromFile(MyFileName);
        ImgData := TImgData.Create();
        try
          if ImgData.ProcessFile(MyFileName) then begin
    Ça s'exécute très bien, je récupère les données Exif et l'image de mon fichier.

    Maintenant, dans un projet d'étude, je me tape la tête contre le mur depuis une heure avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var
      MyFileName : String;
      ImgData: TImgData;
    begin
      MyFileName:= lbImageFiles.Items.Strings[i];
      // le test d'existence du fichier est fait en amont
        Image1.Picture.LoadFromFile(MyFileName); 
        ImgData := TImgData.Create();
        try
          ShowMessage(MyFileName);// ok, alors pourquoi AV dessous ?
          if ImgData.ProcessFile(MyFileName) then begin // 30/10/2019 : AV
    Pourquoi ?
    Il va sans dire que j'ai commencé par virer le contenu du dossier lib, mais ça n'a rien changé.

    EDIT : une précision oubliée : il va bien sûr sans dire que j'utilise le même fichier image dans les deux programmes.
    Le souci (sinon ça ne serait pas marrant), c'est qu'avec un autre fichier image il n'y a pas de problème... /EDIT

    Quelqu'un aura une idée miraculeuse, ou alors il faut envisager un pèlerinage à Lourdes ?

    EDIT2 : je crois que j'ai une piste : le module utilisé n'est pas à la même version selon le programme --> plus qu'à tout uniformiser, ça va prendre du temps…
    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

  2. #2
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Salut,

    hum bizarre effectivement n'y aurait-il pas une différence dans les unités déclarées dans le(s) uses ?

    a+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 720
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut
    Bon, c'était bien ça : différences entre les fichiers avec un même nom, dans des dossiers différents.

    Faut dire aussi qu'ils n'ont rien fait pour simplifier les choses : il y a une grosse douzaine de .pas et .inc, sans aucun respect des majuscules/minuscules, autant dire que sous Linux ça a toujours été l'enfer à compiler.

    Bref, c'est réglé d'une manière olé olé : cette version nous dit qu'elle est un fork de l'autre version, mais sans préciser de dates ou autres, pagaille pour s'y retrouver.
    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

  4. #4
    Expert confirmé
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Points : 4 346
    Points
    4 346
    Billets dans le blog
    2
    Par défaut
    Moi ce qui me navre c'est que l'on soit obligé de faire attention à la casse sous Linux. Cela m'a valus quelques soucis aussi car j'ai pris l'habitude de nommer mes fichiers en CamelCase. Donc depuis c'est la première chose que je vérifie quand je passe sous Linux
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 720
    Points : 15 106
    Points
    15 106
    Par défaut
    Ben dans le zip Dexif, tu trouves des fichiers tout en minuscule, d'autres tout en majuscule, d'autres où c'est mélangé et en général le nom du fichier correspond mal à la déclaration de l'unité, et pareil pour les uses où on trouve n'importe quoi.

    Pour réussir à compiler ça, c'est un exploit,
    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

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2009, 12h42
  2. [XL-2003] Plusieurs réponses pour la même instruction
    Par vhjup dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/06/2009, 19h34
  3. Réponses: 2
    Dernier message: 04/12/2008, 17h41
  4. instruction non exécutée
    Par illegalsene dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/05/2006, 14h42
  5. [VB6] Comment passer des instructions à un exécutable depuis VB?
    Par yal001 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 04/05/2006, 10h59

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