[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Sc-devel] *** Refactoring of "Document" class *** now committed [cross-platform implications]

Hello Dan

I'm getting a compile error after updating to revision 6647 on ppc.

Errors as below. Any ideas?



Class tree inited in 0.12 seconds
ERROR: Message 'implementationClass' not understood.
class Document (05355470) {
  instance variables [19]
    name : Symbol 'Document'
    nextclass : class DoesNotUnderstandError (0B98B7A0)
    superclass : Symbol 'Object'
    subclasses : instance of Array (054DD060, size=2, set=1)
    methods : instance of Array (05355530, size=91, set=7)
    instVarNames : instance of SymbolArray (05355960, size=9, set=3)
    classVarNames : instance of SymbolArray (05355A80, size=9, set=3)
    iprototype : instance of Array (053559D0, size=9, set=4)
    cprototype : instance of Array (05355AF0, size=9, set=4)
    constNames : nil
    constValues : nil
    instanceFormat : Integer 0
    instanceFlags : Integer 0
    classIndex : Integer 454
    classFlags : Integer 0
    maxSubclassIndex : Integer 456
filenameSymbol : Symbol '/Users/tom/Applications/SuperCollider3/ build/SCClassLibrary/Common/GUI/Document.sc'
    charPos : Integer 310
    classVarIndex : Integer 38
	DoesNotUnderstandError:reportError   04BF0E20
		arg this = <instance of DoesNotUnderstandError>
	Nil:handleError   04BF0DC0
		arg this = nil
		arg error = <instance of DoesNotUnderstandError>
	Thread:handleError   04BBEE00
		arg this = <instance of Thread>
		arg error = <instance of DoesNotUnderstandError>
	Object:throw   04BBEAA0
		arg this = <instance of DoesNotUnderstandError>
	Object:doesNotUnderstand   017B5860
		arg this = class Document
		arg selector = 'implementationClass'
		arg args = [*0]
	OSXPlatform:startup   017B5400
		arg this = <instance of OSXPlatform>
	Main:startup   017B53A0
		arg this = <instance of Main>

On 18 Nov 2007, at 19:45, Dan Stowell wrote:

Dear all,

I've now refactored the Document class, as discussed at symposium (svn
rev 6646). I've been running this refactored code for a while and I
believe it to work fine on OSX, but shout if there are any problems.

The cocoa-specific code is now moved into a subclass called
CocoaDocument. However, for platform-neutrality you shouldn't
instantiate that class directly - simply carry on using Document.new
or Document.open or whatever, since those calls should automatically
instantiate the correct class. In theory this means the API hasn't
changed and nothing will break, but that's only theory. Let us know if
anything goes weird.

Linux: I've done nothing to rework the linux documenty classes since I
don't understand them. Hopefully Marije will be able to get it all
working nicely on Linux since this change originated from her and I
think I've done what she said... ;)

Windows: Again, I've done nothing since I can't. The easiest thing to
do for windows is probably to take the CocoaDocument class, duplicate
it as "WindowsDocument" or "PsycoDocument" or something, and make
changes as necessary.


Sc-devel mailing list


Dr Tom Hall
Department of Music and Performing Arts
Anglia Ruskin University
East Road, Cambridge CB1 1PT