begin process at 2012 02 09 09:21:43
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > EVITER LA FENETRE ERREUR JPEG #41 INTEGRE A TPICTURE

EVITER LA FENETRE ERREUR JPEG #41 INTEGRE A TPICTURE


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Classé sous :fenêtre, erreur, jpg41, tpicture Niveau :Débutant Date de création :28/10/2006 Date de mise à jour :30/10/2006 08:21:59 Vu / téléchargé :5 139 / 403

Auteur : cirec

Ecrire un message privé
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Voilà c'est mon deuxième "plagia" d'une source de Japee (désolé ... ;) )

Après la solution de Japee qui, grâce à une astuce, permettait d'éviter le message
d'erreur bien connue "Erreur JPEG #41", source que vous trouverez ici :
http://www.delphifr.com/codes/EVITER-FENETRE-ERR EUR-JPEG-41-SI-CHARGEMENT-IMAGE_29433.aspx

J'avai s trouvé une solution (que vous trouverez dans les commentaires de la source de Japee)
il y a deux mois et que je pensais être la bonne ...

Mais quand j'ai voulu réutiliser ce bout de code ... oh!! Surprise,
L'interception de l'erreur JPEG #41 ne se faisait plus.
Après un travail d'investigation, il en ressort que la méthode que je proposais ne
fonctionnait qu'avec la propriété Stretch de TImage à True ??????? (Voir la Démo DemoOld.dpr)


Comme je n'étais pas satisfait du résultat je me suis penché à nouveau sur le problème et il en résulte
"une nouvelle méthode d'interception" intégrée directement dans ma nouvelle unité crJPEG
(Crée à la base pour pouvoir charger les JPEG directement depuis les ressources) Voir ici :
http://www.delphifr.com/codes/CHARGEZ-VOS-JPEG-D EPUIS-VOS-RESSOURCES-FACILEMENT_40049.aspx
(Je fait ma petite Pub en passant ... lol)

La détection et l'interception fonctionnent maintenant à 100% aussi bien avec :
      - TJPEGImage  (LoadFromFile & LoadFromStream & LoadFromResourceName & LoadFromResourceID)
      - Qu'avec TImage.Picture (LoadFromFile & LoadFromStream)


Exceptionnellement vous trouverez deux projets, je tenais absolument à ce que vous puissiez
constater par vous même le problème avec "TImage.Stretch"
      - DemoOld.dpr : ancienne version avec problème "TImage.Stretch"
      - Demo.dpr    : 100% fonctionnel dans tous les cas

Source

  • {Le teste se résume à ça:
  • Un simple Try Except pour intercepter l'erreur JPEG #41
  • ce qui parait logique me direz-vous !!!
  • Mais qui ne fonctionnait pas}
  • Try
  • Image1.Picture.LoadFromFile('..\Images\Invalid.jpg');
  • Except
  • On E : Exception do
  • ShowMessage(E.Message);
  • End;
{Le teste se résume à ça:
 Un simple Try Except pour intercepter l'erreur JPEG #41
 ce qui parait logique me direz-vous !!! 
 Mais qui ne fonctionnait pas}
  Try
    Image1.Picture.LoadFromFile('..\Images\Invalid.jpg');
  Except
    On E : Exception do
    ShowMessage(E.Message);
  End;

 Conclusion

Je l'ai testé Ok sous D4 et D9
La seul chose que j'ai remarqué c'est sous D9 les numéros d'erreurs changent :
    Sous D4 Erreur #41  = sous D9 Erreur #42
    Sous D4 Erreur #52  = sous D9 Erreur #53
    
Voilà si vous savez pourquoi ...
Et dites moi ce que vous obtenez et avec quelle version de Delphi ... Merci

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

28 octobre 2006 18:41:25 :
Ajout de la capture
29 octobre 2006 20:10:24 :
Ajout du fichier dof
29 octobre 2006 20:14:22 :
Ajout du fichier *.dof
29 octobre 2006 21:41:53 :
Ajout du fichier dof
29 octobre 2006 21:52:03 :
Ajout du fichier dof
29 octobre 2006 21:52:17 :
Ajout du fichier dof
29 octobre 2006 22:53:29 :
+ dof
30 octobre 2006 08:21:00 :
Ajout du Fichier dof
30 octobre 2006 08:21:22 :
Ajout du Fichier dof
30 octobre 2006 08:21:40 :
Ajout du Fichier dof
30 octobre 2006 08:21:59 :
Ajout du Fichier dof

 Sources du même auteur

Source avec Zip Source avec une capture EXEMPLE DE MANUAL DOCKING OU COMMENT DONNER DE LA SOUPLESSE ...
Source avec Zip Source avec une capture BITMAP 32BITS INTÉGRÉ À LA VCL (TIMAGE, TPICTURE, TBITMAP, T...
Source avec Zip Source avec une capture [ASTUCE] COMMENT VOIR UN ITEM, D'UNE LISTBOX, TRONQUÉ DANS U...
Source avec Zip Source avec une capture TEXTE GRAPHIQUE AVEC CONTOUR, OMBRE ET TEXTURE EN API VERSIO...
Source avec Zip Source avec une capture TEXTE GRAPHIQUE AVEC CONTOUR, OMBRE ET TEXTURE EN API

 Sources de la même categorie

Source avec Zip Source avec une capture COMPARATIF ALGO CERCLES par barbichette
Source avec Zip Source avec une capture RAYTRACING EN DELPHI (PROGRESSIVE PATH TRACING) par Bacterius
Source avec Zip Source avec une capture TEXTE SUR COURBE DE BEZIER par pseudo3
Source avec Zip Source avec une capture YEUXROUGES par pseudo3
Source avec Zip Source avec une capture FIREMONKEY : PATHDATA ET FORMAT SVG par Christophe67

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LIBÉRER LA TAILLE MAXIMALE D'UNE FENÊTRE PAR SUBCLASSING par rt15
Source avec Zip Source avec une capture GESTION DE CASES À COCHER PERSONNALISÉES DANS UN STRINGGRID par Jean_Jean
RÉELS ET RÉALITÉ par Kenavo
Source avec Zip Source avec une capture SIGNIFICATION DES CODES D'ERREUR DE L'API WIN32 - UTILISATIO... par japee
Source avec Zip Source avec une capture MORPHING ENTRE DEUX IMAGES par nicoodelphi

Commentaires et avis

Commentaire de Toya78 le 29/10/2006 10:01:06

Je veux bien tester avec mon Delphi 7 mais heu... comment obtenir un JPEG corrompu ? ^^'

Commentaire de Toya78 le 29/10/2006 10:01:45

Désolé j'avais pas vu le zip...

Commentaire de Toya78 le 29/10/2006 10:05:50

Sous Delphi 7 c'est comme sous le 9 apparemment : les numéros d'erreurs sont 42 et 53.

Sinon à corriger :
FRep  = 'Images\';
pas
FRep  = '..\Images\';

:)

Commentaire de cirec le 29/10/2006 10:11:11 administrateur CS

tu as dû changer quelques chose où déplacer l'exe

je viens de télécharger le zip et sans rien changer tout fonctionne !!!

si tu ne touche à rien l'exe se retrouve dans \Exe\Demo.exe
et quand tu démarres l'application de cette emplacement le chemin est correcte !

sinon pour information il n'y a pas de fichier corrompu dans l'archive :
Valide : comme son nom l'indique est une image valide

BadFormat : est une image BMP

Invalid  : est un fichier vide.

Merci pour l'information sous D7

Commentaire de Toya78 le 29/10/2006 10:12:56

Ha ok désolé
Ca vient juste du fait que j'ai pas lancé l'exe existant. J'ai lancé l'application depuis Delphi après compilation lol.

Commentaire de cirec le 30/10/2006 09:11:35 administrateur CS

Avis aux Admins :
Il y a un sérieux problème avec l'upload sur le site
depuis hier soir j'essayais de mettre à jour ma source (il manquait juste deux fichiers dof)
sans succès jusqu'a la dernière tentative ou j'ai eu l'idée de ne pas mettre le Zip (pour voir ce qui allait se passer) et la ça a fonctionné et toutes les autres tentatives d'avant étaient également présente !!!!

Ce qui devrait résoudre le problème de l'exe mal placé quand on le compile depuis l'IDE.
En effet le Zip de départ fonctionnait très bien avec une compilation en ligne de commande (je n'utilise que cette méthode pour une source téléchargé) mais pas depuis l'IDE

voilà tout fonctionne comme prévu maintenant :-)
@+
Cirec

Commentaire de FreDelph le 30/10/2006 18:02:28

Pour info j'utilise le code suivant sans problème:

try
  Jpg.Picture.LoadFromFile(NomImage);
except
  on EInvalidGraphic do
  DeleteFile(NomImage);
end;

Commentaire de cirec le 30/10/2006 20:42:47 administrateur CS

Bon alors

J’avais déjà testé le bout de code que tu donnes, je l'ai re-testé par acquis de conscience …
Et je suis au regret de t’annoncer ...

bah, que ça ne fonctionne pas … l'erreur JPEG #41 n'est pas interceptée

Voilà, teste avec les images que je donne dans le zip et tu verras

@+
Cirec

Commentaire de FreDelph le 30/10/2006 21:09:47

Désolé pour cette info donnée de mémoire sans vérification... Tu as raison, je viens de retester.

Commentaire de cirec le 21/11/2006 16:37:26 administrateur CS

Alors ... une note de 5 oui je veux bien ...
mais il aurai été plus courageux et surtout plus constructif de dire pourquoi ?

qu'est ce qui ne vas pas ?
y a t'il une autre méthode ? plus simple ?
&
en plus le tout est intégré à TPicture donc TImage et sans installation !!!
(rien que cela n'est pas courant)
et pour finir dans une application, c'est quand même plus propre d'intercepter le message d'erreur
et de pouvoir réagir sans que l'utilisateur ne s'en aperçois que de proposer un soft qui n'est même pas capable d'intercepter toutes les erreurs et du coup d'éclanche une erreur qui détone de suite avec le reste de l'application.

le minimum serait de s'expliquer ... mais c'est peut être tout simplement une vengeance
@+
Cirec

Commentaire de FreDelph le 21/11/2006 17:20:14

Pour ma part je ne pense pas à noter... Mais c'est vrai que c'est vraiment utile et que ça mérite mieux !

Commentaire de cirec le 21/11/2006 17:44:47 administrateur CS

@FreDelph : Merci pour ton soutient, ça fait toujours plaisir :)

Mais au delà de la note ce qui m'intéresse le plus c'est de comprendre, pourquoi, qu'est ce qui n'est pas bon dans le code, afin de pouvoir l'améliorer et par la même accroître mes connaissances
et en faire profiter toute la communauté.

@+
Cirec

Commentaire de cincap le 09/01/2007 07:23:45

Bonjour,

Bravo pour ce super code, je note 10.

Cela ne m'étonne pas que ce soit l'ami Cirec à l'origine de cette réponse, comme quoi.............

@+,

Cincap

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

La fenêtre CPU s'ouvre en cas d'erreur [ par gpletinckx ] Bonjour, La fenêtre CPU s'ouvre en cas d'erreur; comme je ne comprends à cette fenêtre, elle ne m'est d'aucune utilité. De plus elle masque mes autres ComboBox et erreur de date... [ par ichigoZ710 ] Bonjour, J'ai un problème avec une combo box qui doit être remplie de date au format : mois année (Juillet 2010) mais lors de son remplissage mes date violation d'accès à l'adresse... [ par Jean_Jean ] [^^clinoeil1]Salut! Au moment où je dépose mon composant sur une fiche il m'affiche cette erreur : [^^choc]"violation d'accès à l'adresse 03293CEC Redéclarer TMySpeedButton.Glyph: TBitmap par TMySpeedButton.Glyph: TPicture [ par MAURICIO ] Bonjour à tous! j' ai redéclaré la propriété Glyph: TBitmap de mon compo héritant d' un TSpeedButton par Glyph: TPicture. Le problème est que je vo Ajout enregistrement puis insère un message d'erreur [ par Luigi1205 ] bonjours a tous J'aimerai savoir, lorsque lorsque j'ajoute des information dans mes édit est ce que il est possible d'affiche une message d'erreur q affichage message d'erreur [ par Luigi1205 ] Bonjours tout le monde lorsque je click sur le boutton valider et que je ne respecte pas certaine contrainte je voudrait affiche des message d'erreu Grisé une fenêtre [ par guitare77210 ] Bonjour les Delphinautes;[^^happy13] Existe il une instruction pour griser une fenêtre et tous les éléments inclus dedans ? Merci d'avance[^^happy10 enable to execute query [ par Lossy311082 ] salut tous le monde! j'ai un problème sur mon application delphi7! est ce que ql1 peut m'aider sur le message d'erreur 'unable to execute query'! je p Message d'erreur après ouverture et Exécution d'un QuickReport [ par Chrino ] Bonjour à tous, Mes chèrs amis j'ai besoin d'un coup de main, en DELPHI. Ma préoccupation est la suivante : Je veins de créer un Projet sur delph Gestiondu déplacement d'une feuille fille [ par jderf ] Bonjour, Je souhaite controlé le déplacement des feuilles filles dans la fenêtre mère. Je veux bloquer, lors du glisser-déposer, le positionnement d'


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales