IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Smalltalk Discussion :

[Visual Works] Erreur "message not understood do:" sur minimumDistanceToAggregate


Sujet :

Smalltalk

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut [Visual Works] Erreur "message not understood do:" sur minimumDistanceToAggregate
    Bon j'ai encore un petit message d'erreur dans mon code...et j'avoue je sature.

    Si quelqu'un aurait la gentillesse d'y jeter un oeil

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    affectBassin
    	| dist selectRule d |
     
    self managedBasins do: 	[: vb | dist:= 1000000000000.
     
    	self rules do: [: r |
    		d:= ((r observable at: 1) minimumDistanceToAggregate: vb).
    		d < dist
    		ifTrue:
    				[dist:= d.
    				selectRule := r]].
     
    	selectRule spatialScope addAll: vb components.
    	vb myUsers do: [:u | u knownRules add: selectRule]].
    VW me souligne minimum DistanceToAggregate et me note "message not understood do:"

    Ce que je cherche à faire c'est de trouver la distance minimum entre un bassin : vb et r. Le but est qu'un bassin à une régle et que le bassin le plus proche de lui applique sa propre regle...
    Bref il doit y avoir un probleme autour de minimumDistance...je pense ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Salut,

    self rules ça renvoit quoi ?

    Mêmes questions pour self managedBasins , vb myUsers et minimumDistanceToAggregate:.

    Tu peux montrer le code de ces méthodes et ce qu'elles renvoient ?

    A tous les coups t'en a une qui ne retourne pas un objet qui comprend ce message (ou bien tu as un do: dans minimumDistanceToAggregate: qui est envoyé à un objet qui ne comprend pas ce message).
    [|]

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    Salut,
    oui désolé je vais vous mettre tous les codes correspondants :

    Self rules et sel managedbassin sont des attributs de la classe "pm" et c'est dans "pm" que l'on trouve "affect bassin".

    Leur init est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    self managedBasins: OrderedCollection new.
    self rules: OrderedCollection new.
    myUsers : est un attribut de riverBassin
    self myUsers: OrderedCollection new.

    et vb correspond à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self validationBasins do: [:vb |vb components do: [:c | vb myUsers addAll: (c theOccupants at: #User)]].
    et myDistanceToaggregate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    minimumDistanceToAggregate: aSpatialEntityAggregate 
    	"returns the minimum distance in cells, between the sender and aSpatialEntityAggregate"
     
    	| dist b |
    	dist := 100000000000000000.
    	aSpatialEntityAggregate surround do: 
    			[:aComponent | 
    			b := aComponent distCell: self.
    			b < dist ifTrue: [dist := b]].
    	^dist
    Si il manque quelque chose dites le moi?

  4. #4
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Dans ce code là, j'aurais besoin de savoir ce que renvoi aSpatialEntityAggregate surround.

    S'il y a des appels de méthodes dedans, ce que ça renvoit aussi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    minimumDistanceToAggregate: aSpatialEntityAggregate 
    	"returns the minimum distance in cells, between the sender and aSpatialEntityAggregate"
     
    	| dist b |
    	dist := 100000000000000000.
    	aSpatialEntityAggregate surround do: 
    			[:aComponent | 
    			b := aComponent distCell: self.
    			b < dist ifTrue: [dist := b]].
    	^dist
    Pour moi l'erreur se situe dans aSpatialEntityAggregate surround qui ne doit pas renvoyer un objet répondant à do:.

    Est-ce que tu as essayé de suivre le cheminement de ton erreur dans le debuggeur ?
    [|]

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    Effectivement l'erreur est celle ci : il me souligne ce bloc!

    do:
    [: aComponent |
    b := aComponent distCell: self.
    b < dist ifTrue: [dist := b]]

    Il faut que je trouv epourquoi maintenant!

    Merci de ton aide!!!

    Bon weekend

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 103
    Points : 38
    Points
    38
    Par défaut
    Bon aprés réflexion cela doit provenir d'un défaut d'initialisation de VW pour la fonction "surround"

Discussions similaires

  1. [FPDF] message d'erreur "file does not begin with'%PDF-'"
    Par narutobaka dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 10/10/2008, 08h46
  2. Réponses: 3
    Dernier message: 29/05/2008, 17h31
  3. message d'erreur:insmod:command not found
    Par info_plus dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 11/12/2007, 18h19
  4. erreur FTP command not understood
    Par katwes dans le forum C#
    Réponses: 2
    Dernier message: 25/06/2007, 14h07
  5. Message d'erreur "https is not supported"
    Par nono08 dans le forum Web
    Réponses: 5
    Dernier message: 04/04/2006, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo