Generic Text Only Printer Driver Bug

"There isn't enough free memory to update the display." Recent Windows Updates are causing this bug to appear on reports that use the Generic/Text Only Printer Driver.

Generic Text Only Printer Driver Bug

tl;dr: If you use the Generic/Text Only printer driver in your Access applications, recent Windows Updates may lead to "out of memory" errors when previewing affected reports.  

See details at AccessForever.org:

Windows Generic/Text Only Printer Driver Fails for Access Reports
Two Windows updates cause the Windows Generic /Text Only Printer Driver to fail.

The "Generic" What Now?

Reading the headline above, many (most? ... all?!) readers may be asking themselves, "What is a generic printer driver and why would anyone be using such a thing?"

Great question.  Let me tell you a story.

Yes, You Can Still Buy Dot Matrix Printers

I inherited a long-time client that still uses a dot matrix printer.

When I first learned that they were using a dot matrix printer in anno Domini 2018, I was shocked and appalled.  I learned about this because the printer had "suddenly" stopped working.  Of course, when you only use a printer four times a year for your quarterly billing, it's difficult to pin down what might have "suddenly" changed...some time in the last three months.  (Perhaps it was a Windows Update bug like this one; I can't recall the specifics.)

As shocking as it was to learn of this bold hardware choice, I was properly flabbergasted when I came to the conclusion...that it was the right decision!

And Yes, There Are Still Good Reasons to Do So

You see, this client was trying to solve a very specific problem in a very specific way. that required them to:

  • Physically mail hundreds of bills every quarter,
  • With the invoice details out of sight from prying eyes,
  • But without having to hand-stuff envelopes,
  • Or rely on expensive automatic folding machines
  • And the special "pressure-seal" paper they require

When they explained their system, it made sense.  What's more, I could not come up with a better way to accomplish the same goal.

Here's how it works:

One of the critical differences between a dot matrix printer and a modern ink jet or laser printer is that it is an impact printer: the print head physically impacts the paper to transfer ink.  This makes it both slower and noisier than its modern cousins.  It also means you can "print"–via carbonless paper–on a piece of paper sealed inside two other pieces of paper.  

Example of a "continuous, two-way, self-mailer" form from Deluxe.

Here's an AI-generated description of this specialized type of form:


Features of the Self-Mailers, Continuous, Two-Way:

  1. Continuous Feed: These forms are designed for use with continuous feed printers, such as dot matrix printers.
  2. Two-Way Design: This means the forms can be used both for sending invoices to customers and for keeping a duplicate copy for the sender’s records.
  3. Self-Mailer: The forms are designed to be mailed without the need for envelopes. The recipient's address is printed on the outside, and the form is sealed appropriately.
  4. Perforated Sections: The form includes perforations that allow for easy separation and opening by the recipient.
  5. Carbonless Copies: These forms provide a carbonless duplicate copy that remains with the sender, which is useful for record-keeping.

Benefits:

  • Efficiency: Streamlines the process of printing and mailing invoices without the need for additional steps like inserting into envelopes.
  • Record-Keeping: Automatically generates a duplicate copy for the sender’s records, which is crucial for accounting and auditing purposes.
  • Compatibility: Specifically designed for continuous feed printers, making it a practical solution for businesses using dot matrix printers.

Dot Matrix Printers: A Pain to Debug

I hate debugging hardware.

I especially hate debugging hardware designed to run on PCs that are no longer in use.

And that's where the "Generic / Text Only Print Driver" comes in.

The dot matrix printer solution worked beautifully...when connected to a Windows XP machine via parallel port:

Image retrieved from the University of New Mexico website.

Good luck finding one of those today. And woe unto the poor sap who finds such a machine and connects it to the internet.

It turns out one of the most reliable ways to get a "modern" dot matrix printer to actually, you know, print is by using the "Generic / Text Only Printer Driver" which is built into all modern versions of Microsoft Windows, up to and including Windows 11.

Final Thoughts

Today is June 26.  Quarterly bills for my client go out in less than a week.  

Methinks a support call is nigh...

All original code samples by Mike Wolfe are licensed under CC BY 4.0