Messagerie


[Resolu] GetObject et comparaison de chaînes

Menestroll
jeudi 6 septembre 2018 à 16:29
Bonjour à tous !
Après une petite pause de Fusion au profit d'une formation de développeur web, je me remet à bosser sur un projet existant sr Clickteam.


Seulement d'entrée de jeu, je me retrouve face à la fonctionnalité de login qui ne marche plus !


J'ai isolé la ligne qui correspond à mon erreur (cf capture d'écran).


Je fais un appel à la base de données pour vérifier les infos de connexion soumise par l'utilisateur. Si les infos sont correctes, je reçois de la part mon script php une chaîne de caractère "successful".


Seulement, lorsque je teste la chaîne, je ne trouve jamais d'égalité alors que les deux chaines sont identiques.


EDIT : Problème résolu après mise à jour de Clickteam Fusion

Pièces jointes
Xenon3K
763 messages
Fusion 2.5 Dev
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 6 septembre 2018 à 16:33
Hello,
Que veut dire le 7 ? C'est 7 charactères à partir de la gauche non ? Donc ça ne sera jamais égale à "successful" (10 chars)

Tu as fait quoi comme formation web ?
Menestroll
jeudi 6 septembre 2018 à 19:23
Salut Xenon3K, merci pour la réponse !


Je ne connais pas trop les fonctions sur fusion.


Lower ça enlève les majuscules et Left récupère le nombre de caractère d'une chaine en partant du début jusqu'au nombre indiqué en paramètre ? J'ai cherché rapidement sur l'aide, j'ai pas trouvé plus d'infos.


Malheureusement même en changeant modifiant ce paramètre ça ne règle pas mon problème.


J'ai fait une formation accélérée de développeur logiciel web dans un centre de formation AFPA. 5 mois de cours et 3 mois de stage pour apprendre à développer des sites et des appli web.  :)
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
jeudi 6 septembre 2018 à 19:58
Je pense que tu devrais utiliser un objet Chaîne pour vérifier ce que ton script retourne.

• (Objet Get) On get comlete
            → (Objet Chaîne) Fixer la chaîne à Receved$(Objet Get)
Modifié le jeudi 6 septembre 2018 à 20:03 par Seyjin
Menestroll
vendredi 7 septembre 2018 à 11:16
Merci pour ton aide Seyjin.
J'ai déjà mis en place ce contrôle en affichant le retour dans une chaine. Elle m'affiche bien "successful"
J'ai aussi vérifié via le débuggueur.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 11:53
Quel est le problème exactement, tu n'arrives pas à recevoir des infos avec l'objet Get ?
Sinon "successful" ça fait 10 lettres, donc ton left$ 7 est incompatible.
"successful" est en minuscule donc pas besoin de lower$...
Modifié le vendredi 7 septembre 2018 à 11:57 par Patrice
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 11:55
Hm, je vois pas trop d’où peut venir le problême. Tu as essayé avec seulement Receved$(Objet Get) plutôt que Lower$(left$(Receved$(Objet Get), 10)) (les deux fonctions sont inutiles ici) ?
Menestroll
vendredi 7 septembre 2018 à 12:01
Mon problème réside dans le test d'égalité de ce que me retourne l'objet Get.


Lorsque le joueur se connecte avec ses identifiants, si les informations fournies sont correctes, j'ai un script PHP qui me renvoie la chaine "sucessful".


Lorsque je teste le contenu de la chaine qui est retournée, il s'agit bien de "successful" mais Clickteam ne voit pas l'égalité, il les considère comment différentes


(Suite à divers retouches il y a une erreur sur le screen fournie dans le premier post. La longueur de la chaine splittée est bien 7 et la chaîne qui est testée c'est "success")




Je viens de tester en enlevant les fonctions, le problème persiste.
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 12:21
Si tu affiche un compteur avec Len(Receved$(Objet Get)) ça donne quoi ? Il y à peut être un caractère null quelquepart.
Menestroll
vendredi 7 septembre 2018 à 12:28
D'après l'éditeur, Received(Objet Get) n'est pas une expression alphanumérique ce qui fait que je peux pas tester sa longueur.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 12:51
Tu pourrais isoler les événements dans un mfa qu'on puisse regarder ?
Emmanuel
2412 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 13:10
bonjour
du peu utils une extension qui et pas souvent utiles c est (Quick Token Object)
Seyjin
1471 messages
Fusion 2.5 Dev
Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 13:36

D'après l'éditeur, Received(Objet Get) n'est pas une expression alphanumérique ce qui fait que je peux pas tester sa longueur.


Remplace Objet Get par le nom de ton objet get, entre guillemets.
Menestroll
vendredi 7 septembre 2018 à 14:56
C'est un peu compliqué d'extraire le code, mais j'ai essayé d'isoler au maximum l'erreur.


En pièce-jointe une screen des deux conditions que je teste.


Pour résumer le déroulement


Get Object recupère la chaine de caractères "successful" renvoyée par un script PHP


Lorsque je teste si la chaîne de caractère reçue est différente ou égale à "successful", elle est toujours différente.


Pourtant si je l'affiche à l'écran ou dans le debugueur, je vois bien "successful". Je l'ai aussi copié collé dans le bloc-note pour vérifier si il n'y avait pas de caractères invisibles, rien.


Merci pour l'extension Emmanuel, mais le code fonctionnait très bien il y a quelques mois en l'état, j'aimerai régler ça sans avoir à rajouter trop de chose. Surtout si l'extension n'est pas compatible android. (c'est une contrainte liée à mon projet)


Seyjin, fait fini par réussi à tester la longueur de la chaine ça me retournait bien 7. Mais même en enlevant les fonctions rien ne change. Je me demande si justement elle n'avait pas pour but de forcer le type string du contenu renvoyé par l'objet get.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 15:07
1 - "successful" ou "successfull"
2 - essaye de comparer ta chaîne et non ce que tu viens de récupérer via l'objet get
3- Compare le sur un événement du genre "lors de l'appuie sur une touche" plutôt que "récupération terminée"

Il te faut décomposer ton problème pour le solutionner
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 15:27
Sans voir le code, je dirait que le test ne peut pas être concomitant avec l'obtention du résultat.
Concrètement, il ne doit pas pouvoir tester une correspondance d'un truc qu'il vient juste de récupérer.
Il vaut mieux le stocker quelque part et dans un deuxième temps le tester.
Pas sûr de voir un lien avec une quelconque mise à jour...
Menestroll
vendredi 7 septembre 2018 à 15:31
C'était "successful" j'ai édité le précédent message.


J'ai essayé en comparant la chaîne, ce n'est pas plus probant.


Même absence de résultat en changeant l’événement.


Le code fonctionnait avant. Il y a eu des mises à jours de l'objet Get ? ou de Clickteam peut être ? J'imagine bien que la réponse se trouve surement entre mon PC et ma chaise mais on sait jamais.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 15:37
Si tu arrives a récupérer ton "successful" dans une chaine, ptet ce truc peut t'aider.
Pièces jointes
Menestroll
vendredi 7 septembre 2018 à 15:55
J'ai essayé ta méthode, le problème persiste.


J'ai vraiment l'impression que c'est lié au contenu.


Existe-t-il des fonctions sur clickteam comme trim pour enlever les espaces en début et fin de chaine ? Ou vaut mieux essayer avec les délimiters de string Parser ?


Y-a-t-il un moyen d'avoir plus d'infos dans le debuggueur sur une chaine de caractères ou pour l'objet get ? Ou bien faut il que je me débrouille avec les fonctions que me fournit clickteam comme length.
Patrice
2784 messages
Fusion 2.5 Dev Fusion 2.5
Firefly Exporteur UWP Exporteur iOS Exporteur Android Exporteur HTML5 Fusion 2.5+
vendredi 7 septembre 2018 à 16:03
Il faut jeter un œil sur ton mfa dsl... en MP si tu préfères...
Utilisateurs en ligne
  • Aucun utilisateur en ligne
  • 12 visiteurs au total

Derniers messages