1046 : ce type est introuvable ou n’est pas une constante de compilation

tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 - 26 nov. 2011 à 15:53
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 - 2 déc. 2011 à 00:32
Bonjour,

J'ai suivit un tutoriel ici :
http://active.tutsplus.com/tutorials/actionscript/quick-tip-use-as3-to-grab-exif-data-from-a-jpg-image/

Fichier source : http://activetuts.s3.amazonaws.com/tuts/268_QTexif/source.zip

Afin d'afficher les exif d'une photo. Mais il m'affiche un rapport d'erreur :
“1046 : ce type est introuvable ou n’est pas une constante de compilation : IFD”
J'ai donc téléchargé le fichier source qu'il propose, même problème !
Je ne trouve vraiment pas de solution...
Merci beaucoup !

4 réponses

aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
29 nov. 2011 à 02:20
bonjour,
vérifie:

import jp.shichiseki.exif.*;

tu n'as du installé la classe spécifiée jp.shichiseki.exif.IDF;

cordialement
1
tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 1
30 nov. 2011 à 12:20
Merci ! C'était ça ! Je n'avais tout simplement pas ajouté la classe IDF...
J'en profite, je n'ai jamais utilisé de classe, peut on récupérer une variable contenue dans l'animation swf dans la classe?
Encore Merci!
1
tartartartar Messages postés 27 Date d'inscription vendredi 19 août 2011 Statut Membre Dernière intervention 15 décembre 2013 1
28 nov. 2011 à 12:09
Pas d'idée ? Je vous transmets la classe :

package
{
import flash.display.Sprite;
import jp.shichiseki.exif.*;
import flash.events.Event;
import flash.net.URLRequest;
import flash.display.Loader;
public class Main extends Sprite
{
/* An instance of the Exif Loader */
private var loader:ExifLoader = new ExifLoader();
public function Main():void
{
/* Loads the image and adds a listener to run a function when complete */
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest('img.jpg'));
}
private function onComplete(e:Event):void
{
/* Add the image to stage */
loader.scaleX = 0.08;//Scale original image as it is 4000+px wide
loader.scaleY = 0.08;
loader.x = 195;
loader.y = 130;
addChild(loader);
/* Check the available exif data and display it */
if (loader.exif.ifds.primary)
{
displayIFD(loader.exif.ifds.primary);
}
if (loader.exif.ifds.exif)
{
displayIFD(loader.exif.ifds.exif);
}
if (loader.exif.ifds.gps)
{
displayIFD(loader.exif.ifds.gps);
}
if (loader.exif.ifds.interoperability)
{
displayIFD(loader.exif.ifds.interoperability);
}
if (loader.exif.ifds.thumbnail)
{
displayIFD(loader.exif.ifds.thumbnail);
}
}
private function displayIFD(ifd:IFD):void
{
/* Adds the read data to the textfield in stage */
for (var entry:String in ifd)
{
infoTF.appendText(entry + ": " + ifd[entry] + '\n');
}
}
}
}

0
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
2 déc. 2011 à 00:32
Bonjour,
je te conseille de te documenter sur les l'héritage de classes, ainsi que les declarations private,public (dynamic et static, sont juste un plus)

Cordialement
0