Fails using Windows XP, Vista, and & Windows 7 (32-bit).
Fails using PDFCreator 0.9.6, 0.9.8, 0.9.9, and even 1.0.0 (taken 2010-05-24).
Sympton: If WinApp-A uses the PDFCreator COM interface to start a PDFCreator instance (new clsPDFCreator and .cStart) and then WinApp-B attempts the same, WinApp-B will not start a new instance of PDFCreator, but never gets true access to the existing PDFCreator. Things go very wrong.
Reproducible Procedure: (1) simply take the VB6 Sample1 provided with the PDFCreator installation (found in C:\\Program Files\\PDFCreator\\COM\\VB6\\Sample1 on WinXP) and compile it. (2) Run Sample1.EXE. (3) Once the Form1 of Sample1 displays, run a second instance of Sample1.EXE. (4) Now you should have 2 Form1 windows on display and 2 instances of Sample1.EXE running. (5) Start the Windows Task Manager (right click on the task bar) and select the Processes tab. Click the Image Name column header to sort alphabetically. You should see one instance of PDFCreator.exe running. (6) Simply click the close X button in the title bar of the first instance of Sample1.EXE that you started. (7) This will close Form1 and Sample1.EXE, but the only instance of PDFCreator will not exit. Observe this in the Windows Task Manager. (8) Click the close X button in the title bar of the second instance of Sample1.EXE that you started previously. (9) Observe that this second instance of Sample1.EXE hangs and can not close. If you click on the form Windows informs you that "An action can not be completed because a component (PDFCreator) is not responding.
The fact is, if two or more applications are running simultaneously on the same Windows PC/Desktop, only the first one who created the PDFCreator process will work, the others will fail in numerous ways.
Additionally, if you start up PDFCreator from the Start Menu, and have the "PDFCreator Monitor" running and on display, and then you run Sample1.EXE once to print, then close Sample1.EXE, it will cause PDFCreator to exit and close the "PDFCreator Monitor" window that you manually opened previosuly from the Start Menu.
This is a serious problem for applications attempting to use the COM Interface. What is the solution to make this work, work correctly, and work for multiple simultaneously running applications?
Note: I've tried cStart passing in both /NoProcessingAtStartup and /NoAbortIfRunning to no avail.