Frank Heckenbach wrote:
Gale Paeper wrote:
In essense, it is a combination of C header mechanisms with Pascal's unit mechanics. In effect, it is a poorman's implementation of Extended Pascal's import and export parts without all the fine grained control features like renaming and selective imports and exports. To make it work, though, the compiler has to be able to propagate compiler variable defines through the uses clause chain to avoid a boatload of redunant compiles and multiple redeclarations. I have the impression that GPC doesn't support that sort of compiler variable propagation so Apple's unit and include file methods and organization isn't going to work.
I don't understand what you mean, so I can't answer your question. Variable declarations in units surely work -- but that's nothing special. Uses propagation (whether routines or variables) doesn't work in GPC as you know. So I suppose you mean something different.
The point is, I think, that in GPC conditional compiler defines (macros set with $define) don't extend unit boundaries, where in traditional Macintosh Pascal compilers they do extend unit boundaries. I understand why this is so in GPC and for the Apple Interfaces it is not a big issue. We have found ways around it to make both "include" and "uses" mode work for the Apple Pascal Interfaces that we are porting to GPC.
Regards,
Adriaan van Os