EPOOL - Environnement de Programmation Orientée Objet en Lingo par Irv Kalb
Chapitre précédent
Chapitre suivant
Ce chapitre contient des conseils et des astuces à propos de la programmation orientée objet en Lingo. Vous trouverez des problèmes et leurs solutions, ou tout simplement des explications.
"New" dans un script parent ne crée pas d'objet
Problème: J'ai écrit un script parent avec une méthode "new", mais lorsque je l'appelle pour créer un objet il ne le crée pas et retourne VOID à la place.
Réponse: C'est une erreur commune qui se produit souvent. Dans la méthode new de votre script, vous devez vous assurez que la dernière ligne exécutée est :
return meCela permet à l'objet de retourner une référence vers lui même à l'appelant. Sans une ligne de ce type, le gestionnaire new ne retourne aucune valeur, et l'appelant récupère donc VOID. (remarque : si votre gestionnaire "new" ajoute une référence de l'objet dans une liste globale comme the actorList, vous n'êtes pas obligés d'insérer cette ligne.)
"New" ne marche plus
Problème: Mon programme fonctionne bien, mais à partir d'un moment toutes les fois que j'utilise la fonction "new" pour créer un bitmap, un acteur texte, etc, rien n'est créé.
Réponse: Il y a de fortes chances que vous avez écrit un script parent, mais que son type est toujours script d'animation. Dans ce cas, le gestionnaire "new" de votre script d'animation court-circuite la fonction standard "new" de Lingo. REcherchez un "on new" dans vos scripts, et vous trouverez probablement cette expression dans un script d'animation qui devrait en fait être un script parent.
Chapitre précédent
Chapitre suivant