Important for all Apple Printing and Graphics Developers:
The information in this Technical Q & A is still relevant up to and including
Mac OS 7.6
with QuickDraw GX 1.1.5. Beginning with the release of Mac OS 8.0,
however, Apple plans to deliver a system which incorporates QuickDraw GX
graphics and typography only. QuickDraw GX printer drivers and GX printing
extensions will not be supported in Mac OS 8.0 or in future Mac OS releases. Apple's
goal is to simplify the user experience of printing by unifying the Macintosh
graphic and printing architectures and standardizing on the classic Printing
Manager.
For details on Apple's official announcement, refer to
</dev/technotes/gxchange.html>
|
Q: I am trying to send messages from within a GX message override. I want to send
GXWriteData to flush the buffer (page 4-146, Inside Mac: Printing
Extensions and Drivers) so that I can send the GXGetDeviceStatus
message. I override the gxHandlePanelEvent message.
In my override, sending messages causes the system to crash so that the
interrupt button does not summon MacsBug. What would cause this to happen?
A: The crash is occurring because there is no connection to the printer at the
time you are sending the message. You have to send the OpenConnection ,
WriteData , and then CloseConnection messages. Note that when you call
OpenConnection , QuickDraw GX puts up the default JobStatus dialog for a short
time. If you don't want this dialog to appear, you can to override the
GXJobStatus message to prevent it from being shown.
See also Dave Hersey's article, "Writing QuickDraw GX Driver with Custom I/O
and Buffering," in
develop 21.
|