[Newbies] MVC programs don't work in Squeak 4.1
p3anoman at gmail.com
Sun Jun 13 15:51:01 UTC 2010
Did you try running your code in the MVCProject?
ScheduledControllers isn't a class but a Smalltalk "global" variable. In the
normal squeak world its value is nil, but when you enter an MVCProject it
gets populated with a ControlManager object which does respond to
scheduleActive: so it just might work!
On Sun, Jun 13, 2010 at 9:34 AM, David Burton <ncdave4life at gmail.com> wrote:
> First, please forgive me if this is a F.A.Q., but I can't seem to find any
> facility for this email list. (Is there one? Where??)
> I last used Smalltalk about 20 years ago, and now I'm trying to port that
> old MVC
> program to Squeak 4.1 under Windows Vista 32-bit (though "Display version
> in VM Preferences says it is 4.0.2 rather than 4.1).
> I've run into lots of frustrations with the Squeak user interface,
> documentation, etc.,
> but I've muddled through. After fixing various obsolete methods, my
> program seemed
> to run right up to the point where it sent the open message to the
> controller. Then it
> died on the last line of the open method for StandardSystemController.
> That method is very short:
> "Create an area on the screen in which the receiver's scheduled view
> be displayed. Make it the active view."
> view resizeInitially.
> status := #open.
> ScheduledControllers scheduleActive: self
> It dies sending the scheduleActive: message to class ScheduledControllers.
> When I try to step "Into" the method using the debugger, it goes directly
> UndefinedObject(Object)>>doesNotUnderstand: #scheduleActive:
> self is a StandardSystemController.
> The class ScheduledControllers isn't even visible in the Browser.
> What on earth is going on? How can the StandardSystemController's open
> be sending a message to an undefined class?!?
> I found a discussion of this problem on the web at
> and it seems that Squeak doesn't work with MVC programs unless you
> open an MVC project.
> Well, okay, but how hard would it have been to just put a proper error
> check and
> helpful message into the open method of StandardSystemController?
> So I did Projects -> New Project -> New MVCroject, and I got a blank
> with nothing on it at all. Any of the 3 mouse buttons brings up the same
> very short menu.
> Since the 3 mouse buttons all do the same thing, I wondered if the Mouse
> preferences might be wrong, but I've verified that "3 button mouse" is
> selected in VM Preferences. (I experimentally tried setting it to "1
> mouse" or both or neither, but nothing made any difference.)
> That menu was pretty opaque, but finally I managed to Open Browser. But
> the System Browser looks bad (it's missing the "class" button, for
> When I tried to open file list, the whole Squeak system froze. (Well, the
> mouse cursor moves, but none of the mouse buttons do anything; I had to
> it with Process Explorer.)
> I restarted and tried Open -> file...
> This was a little better -- it tried to paint a file browser, but failed
> for the most part. Rolling the mouse wheel up and down revealed some file
> names, but nothing would make it do anything with those files.
> It painted a big red ugly "accept" button, which I tried clicking, but the
> whole Squeak system just froze again.
> So... is Squeak unusable for MVC programs? Or is there some trick that
> I don't know?
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners