Waldek Hebisch wrote:
[snip]
This is experimatal (and incomplete) implementation. I would like to get some feedback about missing features. Also, if I got semantics of implemented parts correctly. ATM I know only about one missing Mac objects feature (which is almost surely due to my lack of knowledge about Mac Pascal): GPC requires all methods to be defined in the same unit as the object (TCL sources implement methods in different units). And of course test programs are welcome.
I'm not really sure the TCL sources downloadable from http://www.pascal-central.com/cwport.html represent legal MacPascal Object Pascal code. I don't use TCL myself, but I had the impression the downloads were just partial pieces used to update the full TCL package that was included with purchased copies of THINK Pascal. Since I haven't tried it, I'm don't know what all gets fixed when you run through the updater process.
That said, I was always under the impression that methods had to be implemented in the same unit containing object type declaration containing the method heading. (For interface only units to external object libraries [i.e., link libraries containing the machine code implementations] , there is no implementation part so there is no method implementation source code for those types of interfaces.)
Although there's never any bet-your-life guarentees that the documentation accurately describes the implementation, the following is a direct quote from the CodeWarrior Pro 4 Pascal Language Reference documentation:
"When declaring a method, the initial heading declaration and the block declaration must both appear in the main program or must both appear in the same compilation unit. The heading declaration appears in the type declaration part, as part of the object type decla- ration. The declaration of the method's block appears in the proce- dure and function declaration part. You must write the object type and a period along with the procedure or function identifier when you declare the block. You may repeat the formal parameter list; if you do, it must be identical to the original."
Gale Paeper gpaeper@empirenet.com