On May 28, 2007, at 12:50 , Holger Schuh wrote:
Hallo Ihr,
ich hab mal ne ganz blöde Frage: "Kann eine Instanz sich selbst
ersetzen ?".
Ja - #becomeForward: oder #become: (letzteres ist symmetrisch,
tauscht also die Objektidentitäten).
ABER: Dies ist eine Operation, die so gut wie nie beim "normalen"
Programmieren eingesetzt wird. Wenn du das z.B. mit dem Morph und der
Collection machst wie unten angedeutet, würde z.B. das System statt
deines Morphs auf einmal versuchen, eine OrderedCollection auf den
Bildschirm zu malen, was aller Wahrscheinlichkeit nach einen
Systemabsturz zur Folge hätte.
Gib statt dessen einfach deine OrderedCollection zurück - eine
Zugriffsmethode sollte doch nicht so schwer sein?
bla := myMorph myCollection.
Hintergrund ist folgender: ich habe ein Morph so abgewandelt das
die Punkte an
denen man auf das Morph klickt sammelt (in einer
OrderedCollection). Jetzt
hätte ich gerne das nach Verlassen des Morphs alle referenten auf die
OrderedCollection verweisen (und eben nicht mehr auf Morph
selbst) ... sowas
wie
onMouseLeave: event
self := myOrderedCollection
funktioniert nicht. Auch der Umweg über
Replacer
replace: anObject with: anotherObject
anObject := anotherObject
funktioniert nicht. Inzwischen kann ich mir auch vorstellen das es
doch ganz
sinnig ist wenn das System noch irgendwie an die Instanz rankommt.
(Mülleinsammeln z.B.). Aber wisst Ihr ob es da einen Mechanismus
gibt mit dem
eine Instanz signalisieren kann : "Okay Leute, ab jetzt bin ich
nicht mehr
zuständigen, wenn es Arbeit gibt wendet Euch bitte an denAnderenDa.
Ober,
zahlen bitte" ?
Fragt sich Holger
- Bert -