[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:
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:
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…