Bonjour,

je suis actuellement en train de travailler sur une fonction de recherche sur un genre de visionneuse.

je charge des fichiers swf comportant sur chaque frame une page de mon document. Lorsque je fait un TextSnapshot sur mon movieClip que j'ai donc chargé et dont j'ai bloqué l'avancement (gotoAndStop) sur une page, je fait un .findText() dessus et celui ci me trouve l'élément que je recherche.
afin de récupéré la position exacte de chaque caractère afin de positionner des éléments sur le résultats de recherche, je réalise un .getTextRunInfo('positionTrouvéeParLeFindText','longueurDuMotRechercher').

à ce moment, je récupère un array, avec autant d'Object que de lettres recherchées sur lesquels je récupère des informations comme .corner3x, .corner1y, etc

cependant, il arrive que des fois, l'object TextSnapshot ne fonctionne pas entièrement :
c'est à dire que si mon movieClip ne contient que le texte "page 15" par exemple, je fait un TextSnapshot sur lequel je fait un .findText("age") qui me retourne : 1.
je vérifie aussi le .charCount qui me retourne : 7 .
cependant, lorsque je lui demande un getText(1,3) (1=>position,3=>"age"), il pour je ne sais quelle raison, il ne me retourne rien, de même pour la fonction getTextRunInfo(), où monMovieClip est toujours fait de la même manière. avec soit "page 01", "page 02", "page 14"... etc

voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
var maRecherche:String = "age";
var monSnap:textSnapshot = monMovieClip.textSnapshot;
trace("monSnap.charCount : " + monSnap.charCount);
trace("monSnap.findText(0," + maRecherche + ",false) : " + monSnap.findText(0,maRecherche ,false));
//sachant les résultats de findText, je force juste pour l'exemple pour que ça soit juste un peu plus clair en mettant directement à 1
trace("monSnap.getText(1,maRecherche.length).length : " + monSnap.getText(1,maRecherche.length).length);
trace("monSnap.getText(1,maRecherche.length) : " + monSnap.getText(1,maRecherche.length));
trace("monSnap.getTextRunInfo(1,maRecherche.length) : " + monSnap.getTextRunInfo(1,maRecherche.length));
et cela a pour résultat de m'afficher dans ma console de flash ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
monSnap.charCount : 7
monSnap.findText(0,age,false) : 1
monSnap.getText(1,maRecherche.length).length : 3
monSnap.getText(1,maRecherche.length) : age
monSnap.getTextRunInfo(1,maRecherche.length) : [object Object],[object Object],[object Object]
ou ceci quand malheureusement ça ne fonctionne pas (qu'à moitier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
monSnap.charCount : 7
monSnap.findText(0,age,false) : 1
monSnap.getText(1,maRecherche.length).length : 0
monSnap.getText(1,maRecherche.length) : 
monSnap.getTextRunInfo(1,maRecherche.length) :
auriez vous déjà eu ce problème d'objet qui ne fonctionne pas entièrement ?
merci d'avance