mmwst1@unix.cis.pitt.edu (Michael M Wagner) (10/21/90)
XCMDs are widely believed to allow you to attach an arbitrary piece of code developed in you favorite language to a hypercard stack. The few books that I have read on XCMD make no effort to point out that this is not true and that there are many things that you would like to do (like efficient file I/O) that are not possible. The source of the problem, as I understand it, is that XCMDs must be attached to stacks as resources, *but* many language functions cannot be used outside of applications. In C these include a large portion of the ANSI library (file IO, console, to name two groups). I'd appreciate any comments or solutions.
leonardr@svc.portal.com (Leonard Rosenthol) (10/25/90)
In article <51360@unix.cis.pitt.edu>, mmwst1@unix.cis.pitt.edu (Michael M Wagner) writes: > XCMDs are widely believed to allow you to attach an arbitrary > piece of code developed in you favorite language to a hypercard > stack. The few books that I have read on XCMD make no effort > to point out that this is not true and that there are many things > that you would like to do (like efficient file I/O) that are > not possible. > > The source of the problem, as I understand it, is that XCMDs must > be attached to stacks as resources, *but* many language functions > cannot be used outside of applications. In C these include a > large portion of the ANSI library (file IO, console, to name two > groups). > > It may be true that you can not use such things as the ANSI C library from an XCMD - BUT YOU CAN get the full functionality of the ENTIRE Macintosh Toolbox from an XCMD - and that is the power of XCMD's. Hypertalk is a very limited language, especially given its lack of MacToolbox support. In order to improve that, Dan Winkler (I believe) came up with the idea of these External Code Modules (XCMD/XFCN) whereby a programmer could extend the capabilities of Hypertalk. These capabilities range from support for popUpMenus to fullFeatured drawing/charting tools to communications facilities (serial, appletalk & TCP/IP) and everything in between. You will also find that most Mac programmer don't use a lot of the ANSI C libraries, and use the toolbox instead. So maybe I can't use the console - but on a Mac, who'd want to?!!? -- Leonard Rosenthol Software Ventures Corp. MicroPhone II Development Team