Hello,
I just bought ST3D. When I try to install it on Dolphin Smalltalk 5.1.4, I get this message in the System Transcript : Error: CcEditorShell>>initKeyActionMaps at line 21: undeclared 'UP' and the installation is interrupted. What is the problem ? Thanks for the help Joseph |
Joseph,
> I just bought ST3D. When I try to install it on Dolphin Smalltalk 5.1.4, I > get this message in the System Transcript : > > Error: CcEditorShell>>initKeyActionMaps at line 21: undeclared 'UP' > > and the installation is interrupted. > > What is the problem ? Just a hunch (I don't use it), it looks like a missing pool dictionary entry. Are you certain you are installing packages in the correct order? Dolphin has gotten a lot better about handling that [*] over time, but it's worth checking. You might also look at the pool dictionaries used by CcEditorShell to see if they indeed define UP. The exercise might give you a hint about a load order that might succeed. Also, look at the package pre/post load scripts; in fact, I would do that first because it is proably easier to do. Ian's Chunk Browser shold be quite helpful in viewing the files. Sorry I can't be of any real help. Have a good one, Bill [*] almost too good; I would like to see a way to disable automatic loading of prerequisites for scripted loads, simply to avoid masking any confusion about load order. -- Wilhelm K. Schwab, Ph.D. [hidden email] |
In reply to this post by Joseph Frippiat-2
> I just bought ST3D. When I try to install it on Dolphin Smalltalk 5.1.4,
> I > get this message in the System Transcript : > > Error: CcEditorShell>>initKeyActionMaps at line 21: undeclared 'UP' You'll need to modify the method, and place quotes around any of the symbols with + characters in them.. IE: #SHIFT+UP should be: #'SHIFT+UP' There are two methods with those issues. |
Hi Sean,
Thanks. I did that with the help of Chris Hayes. Now I have other problem: I cann't run the CoolPool example, I get this error when I launch it : 2:02:42, dimanche 3 avril 2005: 'CcPoint3DArray does not understand #uncheckedAt:' CcPoint3DArray(Object)>>doesNotUnderstand: [] in CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: IdentityDictionary(LookupTable)>>at:ifAbsent: CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: CcPoint3DArray(ExternalArray)>>uncheckedFrom:to:keysAndValuesDo: CcPoint3DArray(ExternalArray)>>from:to:keysAndValuesDo: CcPoint3DArray(ExternalArray)>>keysAndValuesDo: CcPoint3DArray(ExternalArray)>>do: OrderedCollection>>addAllLast: OrderedCollection(SequencedGrowableCollection)>>addAll: CcMeshGeometry>>computeBoundingBox CcMeshGeometry(CcGeometry)>>boundingBox CcMeshShape(CcShape)>>dimension CcMeshShape(CcShape)>>clone CcMeshShape>>clone PgPoolGameShell>>addBalls PgPoolGameShell>>onViewOpened PgPoolGameShell(Shell)>>view: PgPoolGameShell(Shell)>>createView: PgPoolGameShell class(Shell class)>>create: PgPoolGameShell class(Presenter class)>>create PgPoolGameShell class(Presenter class)>>show [] in PgPoolGameShell class>>samplesFolderIcon [] in SmalltalkSystemIcon>>openIn: BlockClosure>>ifCurtailed: BlockClosure>>ensure: Cursor>>showWhile: SmalltalkSystemIcon>>openIn: FolderPresenter>>openItem: Message>>forwardTo:with: Message>>value:value: FolderPresenter>>onActionPerformed ListView(View)>>performAction FolderPresenter(Presenter)>>performAction ListView(IconicListAbstract)>>onLeftButtonDoubleClicked: FolderPresenter(Presenter)>>onLeftButtonDoubleClicked: ListView(View)>>wmLButtonDblClk:wParam:lParam: ListView(View)>>dispatchMessage:wParam:lParam: [] in InputState>>wndProc:message:wParam:lParam:cookie: BlockClosure>>ifCurtailed: ProcessorScheduler>>callback:evaluate: InputState>>wndProc:message:wParam:lParam:cookie: ShellView(View)>>isDialogMessage: ShellView>>preTranslateMouseInput: ShellView(View)>>preTranslateMessage: InputState>>preTranslateMessage: InputState>>pumpMessage: InputState>>loopWhile: InputState>>mainLoop [] in InputState>>forkMain Did you or somebody else on this list succeed to make something useful with ST3D and Dolphin Smalltalk 5.1.4 on Windows XP ? Thanks Joseph "Sean Malloy" <[hidden email]> wrote in message news:[hidden email]... >> I just bought ST3D. When I try to install it on Dolphin Smalltalk 5.1.4, >> I >> get this message in the System Transcript : >> >> Error: CcEditorShell>>initKeyActionMaps at line 21: undeclared 'UP' > > You'll need to modify the method, and place quotes around any of the > symbols with + characters in them.. > > IE: > > #SHIFT+UP should be: > > #'SHIFT+UP' > > There are two methods with those issues. > |
Joseph Frippiat wrote:
> 2:02:42, dimanche 3 avril 2005: 'CcPoint3DArray does not understand > #uncheckedAt:' > CcPoint3DArray(Object)>>doesNotUnderstand: > [] in CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: > IdentityDictionary(LookupTable)>>at:ifAbsent: > CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: > CcPoint3DArray(ExternalArray)>>uncheckedFrom:to:keysAndValuesDo: That sounds as if its a side-effect of a change introduced in one of the patches to D5 (I can't remember which one). The implementation of ExternalArray>>keysAndValuesDo: (which underlies most of the methods for iterating over external arrays) was changed to check its bounds first and only then loop over the elements, using #encheckedAt: instead of the checked method #at:. The "real" collections had comparable changes where necessary. It was a sensible change, but had the unfortunate (for a dot-dot release) effect of breaking existing code, since subclasses were now expected to provide #uncheckedAt:[put:] rather than #at:[put:] as they had been before. The simplest (but not best) fix is to add: uncheckedAt: anInteger ^ self at: anInteger. to the relevant subclass. A better solution would be to create #uncheckedAt:[put:] methods in the relevant subclasses. It is likely that the existing implementation of #at:[put:] can just be renamed unless the subclass implementation provides more bounds checking than is necessary for most ExternalArray subclasses. A note for OA -- I think it would be a good idea to provide #subclassResponsibility skeleton implementations of ExternalArray>>uncheckedAt:[put:]. -- chris |
Chris,
that solved the problem ! Thanks Joseph "Chris Uppal" <[hidden email]> wrote in message news:424fcccb$0$38037$[hidden email]... > Joseph Frippiat wrote: > >> 2:02:42, dimanche 3 avril 2005: 'CcPoint3DArray does not understand >> #uncheckedAt:' >> CcPoint3DArray(Object)>>doesNotUnderstand: >> [] in CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: >> IdentityDictionary(LookupTable)>>at:ifAbsent: >> CcPoint3DArray(ExternalStructure)>>doesNotUnderstand: >> CcPoint3DArray(ExternalArray)>>uncheckedFrom:to:keysAndValuesDo: > > That sounds as if its a side-effect of a change introduced in one of the > patches to D5 (I can't remember which one). The implementation of > ExternalArray>>keysAndValuesDo: (which underlies most of the methods for > iterating over external arrays) was changed to check its bounds first and > only > then loop over the elements, using #encheckedAt: instead of the checked > method > #at:. The "real" collections had comparable changes where necessary. > > It was a sensible change, but had the unfortunate (for a dot-dot release) > effect of breaking existing code, since subclasses were now expected to > provide > #uncheckedAt:[put:] rather than #at:[put:] as they had been before. > > The simplest (but not best) fix is to add: > uncheckedAt: anInteger > ^ self at: anInteger. > to the relevant subclass. A better solution would be to create > #uncheckedAt:[put:] methods in the relevant subclasses. It is likely that > the > existing implementation of #at:[put:] can just be renamed unless the > subclass > implementation provides more bounds checking than is necessary for most > ExternalArray subclasses. > > A note for OA -- I think it would be a good idea to provide > #subclassResponsibility skeleton implementations of > ExternalArray>>uncheckedAt:[put:]. > > -- chris > > |
Free forum by Nabble | Edit this page |