Hallo Ihr,
ich hab mal ne ganz blöde Frage: "Kann eine Instanz sich selbst ersetzen ?". 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 attachment0 (189 bytes) Download Attachment |
Hallo Holger,
ich hoffe ich versteh dich richtig, aber die von dir vorgeschlagene Lösung wirkt recht merkwürdig zumindest für dein Problem (Ansatz von Metaprogrammierung für ein allgemeines Problem). Ich empfehle dir vielleicht mal ein paar Designpatterns anzuschauen, in Betracht kommen vermutlich State, Mediator, Strategy etc, dass ist abhängig von deinem gesamten Problemumfeld. Mit freundlichen Grüßen Michael Perscheid > -----Ursprüngliche Nachricht----- > Von: [hidden email] [mailto:squeak-ev- > [hidden email]] Im Auftrag von Holger Schuh > Gesendet: Montag, 28. Mai 2007 12:50 > An: Squeak in Germany / Squeak in Deutschland > Betreff: [Squeak-ev] Kann eine Instanz sich selbst ersetzen ? > > Hallo Ihr, > > ich hab mal ne ganz blöde Frage: "Kann eine Instanz sich selbst ersetzen > ?". > 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 |
In reply to this post by Holger Schuh
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 - |
In reply to this post by Holger Schuh
auhauehah,
hallo Ihr, erstmal danke für die Antworten. *schluck* Harter Tobak für nen Hobbyprogrammierer, bis ich die Begriffe verstanden hab' wirds wahrscheinlich ne Weile dauern. Ich setzt mich morgen nochmal hin und versuch das mit bla := myMorph myCollection. wie von Bert vorgeschlagen. Es dauert halt nur ne ganze Weile bis der langsame Benutzer myCollection zusammengeklickt hat und diese zurückgegeben werden kann. FillInTheBlankMorph wartet da ja höflicherweise bis der User fertig ist. So als völlig weltfremder Mensch find ich diese Warteschleifen etwas unästhetisch ..... und weil ich an myMorph nach dem Punkte sammeln so garnicht interessiert bin, bin ich auf diese komische Idee gekommen (ja, ich weiß das eventhandling und Bildschirmausgabe in einer warteschleife ablaufen ...). Aber ich brauch jetzt erstmal Luft ums Hirn, ich meld' mich nochmal wenn ich die Vokabeln nachgeschaut habe. Holger On Monday 28 May 2007 13:03:26 Michael Perscheid wrote: > Hallo Holger, > > ich hoffe ich versteh dich richtig, aber die von dir vorgeschlagene Lösung > wirkt recht merkwürdig zumindest für dein Problem (Ansatz von > Metaprogrammierung für ein allgemeines Problem). Ich empfehle dir > vielleicht mal ein paar Designpatterns anzuschauen, in Betracht kommen > vermutlich State, Mediator, Strategy etc, dass ist abhängig von deinem > gesamten Problemumfeld. > > Mit freundlichen Grüßen > Michael Perscheid > > > -----Ursprüngliche Nachricht----- > > Von: [hidden email] [mailto:squeak-ev- > > [hidden email]] Im Auftrag von Holger Schuh > > Gesendet: Montag, 28. Mai 2007 12:50 > > An: Squeak in Germany / Squeak in Deutschland > > Betreff: [Squeak-ev] Kann eine Instanz sich selbst ersetzen ? > > > > Hallo Ihr, > > > > ich hab mal ne ganz blöde Frage: "Kann eine Instanz sich selbst ersetzen > > ?". > > 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 attachment0 (189 bytes) Download Attachment |
Free forum by Nabble | Edit this page |