ftp.nice.ch/pub/next/developer/languages/smalltalk/smalltalk.1.2.alpha5.s.tar.gz#/smalltalk-1.2.alpha5/objc/Notes/Notes.rtf

This is Notes.rtf in view mode; [Download] [Up]


No No's

	o	If a function takes float make sure you pass it floats, integers
		will not be automagically promoted to float by smalltalk.  For
		instance this will not work
		
				DPS moveTo: 10 anArg: 10.

		but this will
		
				DPS moveTo: 10.0 anArg: 10.0.
				
	o	Remember methods in objective-c that look like moveTo:: are 
		replaced with moveTo:anArg: in smalltalk since GNU smalltalk
		doesn't yet support ':' as a selector value.
		
	o	Objective-c objects are not garbaged collected so you need to
		explicitly free them yourself.  Hopefully this will be fixed as soon as
		I figure out how GNU smalltalk's garbage collection facility works.
		
	o	Objective-c classes like STObject, STView that are meant to be
		subclassed in smalltalk must have the following fixes evaluated
		before trying to use them. 
		
		Fix for setOOP
		
			setOOP: arg0 
        		| anId aSelector rValue | 
        		anId _ id.
        		aSelector _ OCInterface getUid: 'setOOP:'.
	
				Behavior defineCFunc: 'msgSend'
					withSelectorArgs: 'cObjectMsgSend1: anId sel: aSelector argSmalltalk: arg0'
					forClass: OCInterface class
					returning: #cObject
					args: #(cObject cObject smalltalk).
			
        		rValue _ OCInterface cObjectMsgSend1: anId sel: aSelector argSmalltalk: arg0.
        		((OCInterface id: id equalTo: rValue) = 1)
                	ifTrue: [ ^self ]
                	ifFalse: [ ^OCObject newFromId: rValue. ].

		and the following fix for the designated initalizer (usually init, initFrame, ...)
		
			init
				super init.
				self setOOP: self.
		
		
		The fix for setOOP: allows arg0 to be passed to the objective-c method 
		setOOP: as OOP (C Pointer to a smalltalk object).    The init fix just makes
		sure that the OOP ivar (stObject) in the objective-c object is setup so that 
		messages sent to the objective-c object are passed over to the smalltalk object.

	o
	

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.