chychoun
Jun 28 2007, 03:14 PM
Re
Quand je compile mon application j'ai
l'erreur suivante : 1046: Ce type est introuvable ou n'est pas une constante de compilation : Test.
c'est surement parce qu'il ne trouve pas ma classe
Je voudrais savoir comment je peux rajouter un chemin de classe comme dans flash
Merci
Fusion
Jun 28 2007, 03:21 PM
T'es dans quel dossier?
Si ta classe Test.mxml se trouve dans le dossier \classes : mets dans ta balise d'application le namespace qui va bien ...
CODE
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:classes="classes.*">
<classes:Test />
</mx:Application>
chychoun
Jun 28 2007, 03:31 PM
j'ai le code suivant :
CODE
<mx:Script><![CDATA[
import Pixlp.Test;
public function init():void {
var myAppli:Test = new Test();
}
]]></mx:Script>
le package se trouve sur un autre disque
Fusion
Jun 28 2007, 09:12 PM
Ok, alors si tu utilises ta classe en AS3 et non pas en MXML, le
CODE
import Pixlp.Test;
devrait suffire... si toutefois la classe est bien dans le dossier Pixlp se trouvant dans le répertoire contenant ton application.
Tu dis que la classe Test est sur un "autre disque", ça veut dire quoi précisément? Là, l'appli va chercher la classe Test dans un répertoire nommé Pixlp, dans les packages SWC de Flex et dans un dossier Pixlp dans le répertoire \bin de Flex. Si la classe n'est à aucun de ces trois endroits, rien d'étonnant que le compilateur ne trouve rien du tout.
Donc, en résumé : où exactement est ta classe Test, par rapport à ton appli ?
Tonic
Jun 29 2007, 07:00 AM
Salut,
click droit sur projet -> Flex Build Path -> onglet source path -> add forlder -> chemin vers ton dossier de classe...
chychoun
Jun 29 2007, 08:51 AM
Tonic
Jun 29 2007, 08:55 AM
Tu peux par exemple utiliser des composants mxml que tu as créé ton même.
Ou tu peux également utiliser des classe AS qui étende des classe de composant.
Ensuite, il te suffit de spécifier le chemin vers ses composants mxml ou AS dans ton application : "xmlns:classes="classes.*""
Et avec ce namespace, tu as donc accès à tes composants...
Fusion
Jun 29 2007, 08:57 AM
CITATION(chychoun @ Jun 29 2007, 10:51 AM)

Ben alors je vais m'auto-citer...
CITATION(Fusion @ Jun 28 2007, 05:21 PM)

Si ta classe Test.mxml se trouve dans le dossier \classes\tests : mets dans ta balise d'application le namespace qui va bien ...
CODE
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:classes="classes.tests.*">
<classes:Test />
</mx:Application>
Ton xmlns:classes définit un alias pour le chemin dans lequel aller chercher les classes, les "." remplacement les "\". En suite tu utilises l'alias comme namespace pour appeler ta classe et voilà
chychoun
Jun 29 2007, 10:25 AM
Bon je continue de poser mes questions ici
J'ai l'impression qu'il ne rafraichi pas ma classe quand je compile
en mode debug je vois tj la info que j'ai mis.
comment pour qu'il recharge a chaque fois ma classe
merci d'avance
Tonic
Jun 29 2007, 11:55 AM
Fait un "clean" sur ton projet, et recompile pour voir.
Normalement, à chaque modif sur une classe, elle est automatiquement recompilée.
Fusion
Jun 29 2007, 12:04 PM
Recharger ta classe à chaque fois? Je ne comprends pas trop.
Au fait, tu compiles quelle classe? La classe Test ou la classe qui utilise Test? Dans le premier cas, ton application utilisation la classe Test ne verra pas les modifs avant que tu ne l'aies recompilée également...
chychoun
Jun 29 2007, 01:17 PM
bah en fete test c'etait pour voir si ca fonctionne
maintenant je passe sur la la class Admin qui fonction parce qu'elle
m'affiche le trace mais si je rajoute des methodes elle ne les prend pas
en compte
voici le code :
CODE
function Admin() {
trace("je suis dans la classe ADMINeeeeeeee")
//this._btnLog.onRelease = Delegate.create(this, checkLogin)
this.checkLogin()
}
private function checkLogin():void {
trace("je passe dans la fonction CHECKLOGIN")
}
normalement je suis sensé voir le deuxieme trace mais non
pourquoi
chychoun
Jun 29 2007, 01:23 PM
Plus simplement je cherche les meme fonctionnalités que sur flash
c a d de supprimer les ASO et tester l'animation
la qd je fait une modification dans ma classe par exemple
simplement rajouter des lettres dans mon trace elles ne passent pas
Fusion
Jun 29 2007, 01:23 PM
Au lieu d'utiliser this.checkLogin() tu ne pourrais pas essayer checkLogin() ?
chychoun
Jun 29 2007, 01:25 PM
c'est la meme chose
je viens de tester ca ne passe pas
Tonic
Jun 29 2007, 01:45 PM
CITATION(chychoun @ Jun 29 2007, 01:23 PM)

c a d de supprimer les ASO et tester l'animation
Onglet projet -> clean (2ème essais)
chychoun
Jun 29 2007, 02:09 PM
Oui j'ai essayé le clean mais flex
a supprimé les fichiers admin.html, admin.debug etc...
chychoun
Jun 29 2007, 02:59 PM
Re bon j'ai trouver une solution mais je pense pas que ce soit la
meilleur. Il faut rafraichier les classes avec de debuger ou de compiler
(dans le Navigaotr j'ai [soure path] clique droit sur les classes refresh
est ce qu'il existe une manip qui permet de le faire automatiquement
Merci d'avance
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez
cliquer ici.