Why is TPrinter (XE7) suddenly having problems today?
<p>I am using C++ Builder XE7 VCL.</p>

<p>Around August 11 2016 2:00pm UTC, I started receiving multiple complaints from my user base about printing problems. Most of these printing modules have proven stable for many years, and there were no updates to my project within the past 24 hours. I was able to reproduce similar problems on my development/test environment.</p>

<p>Without going into many details of my project, let me present a very simple printing program that is failing:</p>

<pre><code>void __fastcall TForm1::PrintButtonClick(TObject *Sender)
{
    // Test Print:
    TPrinter *Prntr = Printer();
    Prntr-&gt;Title = "Test_";
    Prntr-&gt;BeginDoc();
    Prntr-&gt;Canvas-&gt;Font-&gt;Size = 10;
    Prntr-&gt;Canvas-&gt;TextOut(300,1050,"* * * Printing Test * * *");
    if (Prntr-&gt;Printing) {
        Prntr-&gt;EndDoc();
    }
}
</code></pre>

<p>On the first attempt to print, everything works perfectly as expected.  If I click the button a second time, <code>TPrinter</code> produces a small PDF, but the PDF file is actually corrupted and appears to have a file handle stuck to it.</p>

<p>If I click the button a third time, I get no printing and the following error message appears:</p>

<pre><code>Printer is not currently printing.
</code></pre>

<p>My own test was done using a PDF printer driver, but the complaints I am receiving from users include a variety of local printers, network printers, PDF printers, etc.</p>

<p>In my actual project, I have <code>try/catch</code> exception handling, so the actual results are slightly different, but substantially similar to this result.  The results show the hallmarks of instability and/or memory leaks without much in terms of error messages.</p>

<p>I suspect there may have been some Microsoft Windows updates that are tangling with Embarcadero DLLs, but I have not been able to verify this so far.</p>

<p>Is anyone else having similar problems?</p>