01-18-2005 09:05 PM
01-19-2005 11:38 AM
01-19-2005 11:48 PM
01-20-2005 08:37 AM
01-20-2005
01:44 PM
- last edited on
07-08-2025
03:06 PM
by
Content Cleaner
The issue is more of an incompatibility with the driver that the particular printer uses. CVI creates standard Windows GDI instructions for rending text and images on display devices and does not directly interact with the driver. It is up to the driver to be fully compatible with the Windows GDI subsystem standard and properly render all of the instructions. The printing functionality of CVI has remained unchanged for quite some time and has stuck with this method of using GDI only to maintain the highest level of compatibility with all output devices, but sadly many of the newer driver implementations have forgone GDI compatiblity to optimize their drivers to work best with certain applications. Now, if you think about it, since an older driver often can correctly output the graphics and text without incident (depending on when the printer was originally manufactured there may not be an older driver), it must be a change in the new driver that is causing this to happen, and the printer itself nor CVI is the problem.
Also, you can try changing to bitmapped mode. Look for "bitmap printing" in the CVI online help. Hope this provides some more possibilities for you!
05-07-2007 05:01 AM
05-07-2007
02:05 PM
- last edited on
07-08-2025
03:07 PM
by
Content Cleaner
Hello Vix,
I don't have that printer but I downloaded the D2300 driver from HP and tried to reproduce the problem using CVI 6.0. I couldn't reproduce it when I tested PrintTextBuffer by printing to the LPT1 port (which, of course, didn't really have a printer attached) but then I tried printing to a file and the program hung, like you said. I was able to debug the hang and found that it was a thread deadlock problem (the driver is discarding threads at an unexpected point of the code). Because of a change in how CVI handles threads being discarded that was introduced in version 7.0 (as a result of bug report 2NGDHNAB) this deadlock no longer happens in versions 7.0 and later. To confirm that it fixes your problem you can try downloading the latest version of the CVI run time engine.
Luis
05-08-2007 05:16 AM
05-08-2007 05:26 AM
Run-time engines are backward compatible, so you can run an application of yours on a different (newer) RTE without problems. At least this is what I saw in the documentation and in my experience.
In my developing machine I have installed at present 3 different cvi versions (6, 7 and 😎 so I am using RTE 8 even when I modify and test CVI6 applications and never had problems.
On the other hand, I have seen some differences in how the different RTEs render graphical objects in the user interface, particularly between version 6 and 7 but this had never had impact on system and program performances.
05-08-2007 08:45 AM