Classic Mac Crash — a Line Too Far
A Delegation, Debugging and near-Despair tale
I’ll write more background about the Mercator KidMap project, when I can find some screenshots (probably by spinning up a very old Mac). For now, let me QuickDraw a picture of the tech problem.
We had our own banding report-writer, invented for this project to run on very low-end (Classic) Mac and Windows machines. We had to develop our own product because, back in around 1997, there was not a single report-writer library available for the Mac.
A banding report-writer, such as Crystal Reports, lets you print long paper reports probably with nested levels of information. In this case, it was printing school reports with student evaluations and grades. These could go on for hundreds of pages.
If you’ve ever seen such reports, they often have tables.
Our initial report-writer did a superb job at layout of columns, including lovely word-wrapping and page-break logic.
But, we had to also deliver gridlines and borders around that wrapped content. If you’ve ever specificed border settings in Excel, our feature worked like that, with lines on up to four sides of a cell.
“None of our code is running when it crashes!”
This seemed a fairly simple thing to add. The text being drawn on the page was formatted text, positioned to the pixel. Adding a few line-drawing commands was handed off to a junior programmer. At the time, I was employing…