DOS printing delays in XP that weren't in 98 or ME

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I am using an older, custom written database that is DOS based. When I try
to print, there is a 20-30 second delay unless there is a large amount of
data being printed (i.e. 20+ lines of text). I have tried the correct driver
for the printer as well as several generic drivers with the same results on
all. I have run this same database on Windows 98 and Windows ME in the past
with no delay. I have a new system with Windows XP sp2 installed. I have
tried two different DOS based programs (the custom database and also and old
DOS version of Lotus 123 that I had laying around) with the same result so I
assume there is a setting in Windows that I have overlooked somewhere for DOS
based printing. Thanks for any suggestions!
 
The printer is already on LPT1 and setup as a local printer. I looked at the
rest of the suggestions on that page and they did not seem to relate to my
issue. I am using an older cable, could that be part of the problem? The
printer is an Okidata Microline 182 tractor-feed 9-pin printer for mailing
labels. I originally thought the delay was with the printer, but XP does not
get the info from the DOS program for 20-30 seconds, then sends it
immediately and the printer carries out the print job. The delay seems to be
with XP getting the info. I tried many settings in the shortcut I created
for executing the program, but nothing seems to help.
 
Vincent,
I am using an older, custom written database that is DOS based. When I try
to print, there is a 20-30 second delay unless there is a large amount of
data being printed (i.e. 20+ lines of text).

it's a common problem for many DOS applications running on XP or newer
versions.
The delay is due to the LPT timeout value. It's because your DOS app is not
closing the LPT port at the end of the print job.
In this case, Windows XP, unlike previous Windows versions, uses a timer in
order to know when the DOS print job is finished.

The best solution is fixing the DOS app., if you can. Otherwise you can try
this:

Go to SYSTEM.INI file
in [386enh] section search [Network] if it does not exist enter the
following :

[Network]
PrintBufTime=10
[IFSMGR]
PrintBufTime=10

This should set the timeout to 10 seconds. Do not set too low the value or
the printer could start printing before the end of the DOS print job.

There is also another solution, by changing the Registry value. Please note
I HAVEN'T TESTED IT.
In particular way, take care using RegEdit: it could be rather dangerous.

In REGEDIT ( START->RUN-> REGEDIT )
click : Hkey_local_machine
then click : System
then click : CurrentControlSet
then click : Control
somewhere at the bottom of the control list Click: WOW
here you should find the LPT_timeout property


You may also want to have a look at Printfil, which allows your DOS app. to
print to any Windows printer (including GDI, WIndows-only and Virtual
Printers: WinFax, PDF writers etc.) with many extras, like print preview,
color, font selection, BMP inclusion, margins, LPT capturing etc.

More info and a free trial is available for download at our web site.

Kind Regards,
Davide Guolo
--------------------------------------------------------------
Printfil - Windows Printing System for Applications
http://www.guolo.com/printfil
Odbc4All - Connection to ODBC Data Sources for any Application
http://www.guolo.com/odbc4all
--------------------------------------------------------------
 
Back
Top