If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
2000/XP print processor
Need some help.
Old dos application, that prints to a netware print queue. The printing is redirected to local printer or the print queue from within the dos application. Works fine from dos and Win9x. Windows 2000 and Xp cause the printing to be sent to the print queue before the form is complete. This is dependent on the lpt_timeout setting in WOW. The application need the data to spool until the operator is completed with an order. If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. Is there a way to bypass the print processor and windows spooler. I have tried all the print processor settings, local printer settings etc. Need to keep this application running while providing 2000/XP workstations. TIA Bob |
Ads |
#2
|
|||
|
|||
2000/XP print processor
I am not familiar enough with this to tell you how to get it to work with
Novell Netware. However, do you need to use Novell Netware? Why not set it up on a Windows XP machine as a shared printer? You can still use Netware for legacy applications. Paul wrote in message ups.com... Need some help. Old dos application, that prints to a netware print queue. The printing is redirected to local printer or the print queue from within the dos application. Works fine from dos and Win9x. Windows 2000 and Xp cause the printing to be sent to the print queue before the form is complete. This is dependent on the lpt_timeout setting in WOW. The application need the data to spool until the operator is completed with an order. If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. Is there a way to bypass the print processor and windows spooler. I have tried all the print processor settings, local printer settings etc. Need to keep this application running while providing 2000/XP workstations. TIA Bob |
#3
|
|||
|
|||
2000/XP print processor
The application is on the novell server and the print redirect routine
was written for Netware print queues, so I am kind of stuck with it. I dont think it is a novell issue as much as trying to bypass the spooler in 2000/XP. Bob On Apr 11, 4:33 pm, "Paul Baker [MVP, Windows - SDK]" wrote: I am not familiar enough with this to tell you how to get it to work with Novell Netware. However, do you need to use Novell Netware? Why not set it up on a Windows XP machine as a shared printer? You can still use Netware for legacy applications. Paul wrote in message ups.com... Need some help. Old dos application, that prints to a netware print queue. The printing is redirected to local printer or the print queue from within the dos application. Works fine from dos and Win9x. Windows 2000 and Xp cause the printing to be sent to the print queue before the form is complete. This is dependent on the lpt_timeout setting in WOW. The application need the data to spool until the operator is completed with an order. If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. Is there a way to bypass the print processor and windows spooler. I have tried all the print processor settings, local printer settings etc. Need to keep this application running while providing 2000/XP workstations. TIA Bob- Hide quoted text - - Show quoted text - |
#4
|
|||
|
|||
2000/XP print processor
Did you look at the Advanced page of the printer properties dialog?
Paul wrote in message oups.com... The application is on the novell server and the print redirect routine was written for Netware print queues, so I am kind of stuck with it. I dont think it is a novell issue as much as trying to bypass the spooler in 2000/XP. Bob On Apr 11, 4:33 pm, "Paul Baker [MVP, Windows - SDK]" wrote: I am not familiar enough with this to tell you how to get it to work with Novell Netware. However, do you need to use Novell Netware? Why not set it up on a Windows XP machine as a shared printer? You can still use Netware for legacy applications. Paul wrote in message ups.com... Need some help. Old dos application, that prints to a netware print queue. The printing is redirected to local printer or the print queue from within the dos application. Works fine from dos and Win9x. Windows 2000 and Xp cause the printing to be sent to the print queue before the form is complete. This is dependent on the lpt_timeout setting in WOW. The application need the data to spool until the operator is completed with an order. If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. Is there a way to bypass the print processor and windows spooler. I have tried all the print processor settings, local printer settings etc. Need to keep this application running while providing 2000/XP workstations. TIA Bob- Hide quoted text - - Show quoted text - |
#5
|
|||
|
|||
2000/XP print processor
Bob,
If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. your DOS programs depends by the LPT_Timeout property because it does not close the printer port at the end of the print job. If you are the original programmer you can fix it, so that the LPT_Timeout value will be no more a problem for you. For example, if it's a Basic program, instead of using: LPRINT "Hello world" you could: OPEN "LPT1:" FOR OUTPUT AS #1 PRINT #1, "Hello world" CLOSE #1 If it's an xBase program you can add a "SET PRINTER TO" at the end (without additional parameters) Almost any DOS programming language does have a command to close the output device. Regards, Davide Guolo aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#6
|
|||
|
|||
2000/XP print processor
Paul
I have tried everything I can think of with the printer properties. I have even tried with no printer installed, as I dont need a drive to print to LPT1. Bob Davide We are closing the print job. Let me explain, Dos POS application printing to lpt1. As an order is keyed, each line item prints on local printer and when order is complete a formfeed is issued. Then a shared netware printer was added with a utility to send the data to the novell print queue. The utility is run before printing, capture, and after the formfeed, endcap. Works fine for dos and 9X. Enter 2000/XP The lpt_timeout causes the data to be sent to the novell queue before order is completed. If one on part is entered and 15 sec go by (default lpt_timeout Setting) , that one part is printed and a formfeed is issued. Unfortunitly, the language the application was written in does not give me any other options. Really need to look at way to change 2K/XP local print behaviour. Thanks Bob Did you look at the Advanced page of the printer properties dialog? Paul On Apr 11, 7:08 pm, "Davide Guolo" wrote: Bob, If I leave lpt_timeout at 15, the job may be sent before the order is complete. If I set it really high ie 9999 the the program is fine but the printout doesn't hit the printer until the timeout is complete. your DOS programs depends by the LPT_Timeout property because it does not close the printer port at the end of the print job. If you are the original programmer you can fix it, so that the LPT_Timeout value will be no more a problem for you. For example, if it's a Basic program, instead of using: LPRINT "Hello world" you could: OPEN "LPT1:" FOR OUTPUT AS #1 PRINT #1, "Hello world" CLOSE #1 If it's an xBase program you can add a "SET PRINTER TO" at the end (without additional parameters) Almost any DOS programming language does have a command to close the output device. Regards, Davide Guolo aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#7
|
|||
|
|||
2000/XP print processor
Bob,
Enter 2000/XP The lpt_timeout causes the data to be sent to the novell queue before order is completed. ah, ok. That's because you're printing one line at a time, so there may be long pauses between the lines, right ? LPT_Timeout was added in recent Windows versions in order to "know" when a DOS job has end (was pretty common not closing the LPT device in DOS). Even by setting the LPT_Timeout to 9999, if you DO close the port, the job should be spooled immediately. The same should happen if you exit your DOS application (in this case all the buffers, including the print device are closed too) Unfortunitly, the language the application was written in does not give me any other options. Are you the original programmer ? If so, in which language is the app. written ? (maybe you could "print to file" from DOS then you could send the entire file to the queue at the print job end) If you cannot modify the DOS app., maybe you could try the "prindir9" utility (similar to "prn2file") to forward the LPT output to a file. Regards Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#8
|
|||
|
|||
2000/XP print processor
Davide,
If Windows 2000/XP "knows" the DOS job is done based on LPT_Timeout and previous versions did not have that, how is it that Windows 9x is working for Bob? How does *it* know when the end of the DOS job is if he is not closing the port? Paul "Davide Guolo" wrote in message ... Bob, Enter 2000/XP The lpt_timeout causes the data to be sent to the novell queue before order is completed. ah, ok. That's because you're printing one line at a time, so there may be long pauses between the lines, right ? LPT_Timeout was added in recent Windows versions in order to "know" when a DOS job has end (was pretty common not closing the LPT device in DOS). Even by setting the LPT_Timeout to 9999, if you DO close the port, the job should be spooled immediately. The same should happen if you exit your DOS application (in this case all the buffers, including the print device are closed too) Unfortunitly, the language the application was written in does not give me any other options. Are you the original programmer ? If so, in which language is the app. written ? (maybe you could "print to file" from DOS then you could send the entire file to the queue at the print job end) If you cannot modify the DOS app., maybe you could try the "prindir9" utility (similar to "prn2file") to forward the LPT output to a file. Regards Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#9
|
|||
|
|||
2000/XP print processor
Yes
One line at a time. I have the ability to mod the program, but not the utility that captures and endcaps from within the program. Rewriting, save to file and then send the file will work, but major rewrite of program. The client is prob. going to dump the program in a year or two, hence the new workstations. Moving into the windows era. Paul Thats the point, Win9X let you goto LPT port. If the printprocessor and spooler were involved, they didn't do anything. 2K/XP changed things with how LPT are dealt with. I wish I could revert to an older print processor just for LPT1, so as not to screw anytning else up, but I dont understand the PrintProcessor well enough. Thanks Bob On Apr 12, 1:17 pm, "Davide Guolo" wrote: Bob, Enter 2000/XP The lpt_timeout causes the data to be sent to the novell queue before order is completed. ah, ok. That's because you're printing one line at a time, so there may be long pauses between the lines, right ? LPT_Timeout was added in recent Windows versions in order to "know" when a DOS job has end (was pretty common not closing the LPT device in DOS). Even by setting the LPT_Timeout to 9999, if you DO close the port, the job should be spooled immediately. The same should happen if you exit your DOS application (in this case all the buffers, including the print device are closed too) Unfortunitly, the language the application was written in does not give me any other options. Are you the original programmer ? If so, in which language is the app. written ? (maybe you could "print to file" from DOS then you could send the entire file to the queue at the print job end) If you cannot modify the DOS app., maybe you could try the "prindir9" utility (similar to "prn2file") to forward the LPT output to a file. Regards Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#10
|
|||
|
|||
2000/XP print processor
Paul,
If Windows 2000/XP "knows" the DOS job is done based on LPT_Timeout and previous versions did not have that, how is it that Windows 9x is working for Bob? in Windows 9x was possible to directly write from DOS to the hardware LPT port, even without install any printer driver on that port. NT based systems, for security reasons, introduced a new abstraction layer when talking with hardware devices, hence the need for the LPT_Timeout (which was not present, nor needed in previous Windows versions) Regards, Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#11
|
|||
|
|||
2000/XP print processor
Bob,
Yes One line at a time. I have the ability to mod the program, but not the utility that captures and endcaps from within the program. ok. Rewriting, save to file and then send the file will work, but major rewrite of program. The client is prob. going to dump the program in a year or two, hence the new workstations. Moving into the windows era. Well, then perhaps you could explore the "prindir9" suggestion (I've succesfully used it on some XP systems). http://www.simtel.net/product.php%5B...5Dsi mtel.net Prindir9 could allow you to forward the LPT output to a file without major rewritings. You would then only have to add a single line of code at the print job end: "COPY file.txt LPT1:". At that point the capture/endcap utility will continue to do its job as always. Win9X let you goto LPT port. If the printprocessor and spooler were involved, they didn't do anything. 2K/XP changed things with how LPT are dealt with. I wish I could revert to an older print processor just for LPT1 I don't think you can bypass the hardware abstraction layer on NT based systems. Regards, Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#12
|
|||
|
|||
2000/XP print processor
If you install a printer in the Printers and Faxes folder on that same port,
it will in addition make everything to that port go through the print queue. I assume you have eliminated this additional layer? Paul "Davide Guolo" wrote in message ... Bob, Yes One line at a time. I have the ability to mod the program, but not the utility that captures and endcaps from within the program. ok. Rewriting, save to file and then send the file will work, but major rewrite of program. The client is prob. going to dump the program in a year or two, hence the new workstations. Moving into the windows era. Well, then perhaps you could explore the "prindir9" suggestion (I've succesfully used it on some XP systems). http://www.simtel.net/product.php%5B...5Dsi mtel.net Prindir9 could allow you to forward the LPT output to a file without major rewritings. You would then only have to add a single line of code at the print job end: "COPY file.txt LPT1:". At that point the capture/endcap utility will continue to do its job as always. Win9X let you goto LPT port. If the printprocessor and spooler were involved, they didn't do anything. 2K/XP changed things with how LPT are dealt with. I wish I could revert to an older print processor just for LPT1 I don't think you can bypass the hardware abstraction layer on NT based systems. Regards, Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill -------------------------------------------------------------- |
#13
|
|||
|
|||
2000/XP print processor
Paul
I have tried it with no windows printers installed and also with a generic printer on LPT1 so I could set the spool options to print directly to the port with the same results. On Apr 13, 9:20 am, "Paul Baker [MVP, Windows - SDK]" wrote: If you install a printer in the Printers and Faxes folder on that same port, it will in addition make everything to that port go through the print queue. I assume you have eliminated this additional layer? Paul "Davide Guolo" wrote in message ... Bob, Yes One line at a time. I have the ability to mod the program, but not the utility that captures and endcaps from within the program. ok. Rewriting, save to file and then send the file will work, but major rewrite of program. The client is prob. going to dump the program in a year or two, hence the new workstations. Moving into the windows era. Well, then perhaps you could explore the "prindir9" suggestion (I've succesfully used it on some XP systems). http://www.simtel.net/product.php%5B...5D0%5BSiteID%5... Prindir9 could allow you to forward the LPT output to a file without major rewritings. You would then only have to add a single line of code at the print job end: "COPY file.txt LPT1:". At that point the capture/endcap utility will continue to do its job as always. Win9X let you goto LPT port. If the printprocessor and spooler were involved, they didn't do anything. 2K/XP changed things with how LPT are dealt with. I wish I could revert to an older print processor just for LPT1 I don't think you can bypass the hardware abstraction layer on NT based systems. Regards, Davide aSwIt s.r.l. -------------------------------------------------------------- Printfil - Windows Printing System for Applications http://www.printfil.com Odbc4All - Connection to ODBC Data Sources for any Application http://www.aswit.com/odbc4all @Kill - Batch Close Windows Applications - Freeware http://www.aswit.com/akill --------------------------------------------------------------- Hide quoted text - - Show quoted text - |
Thread Tools | |
Display Modes | |
|
|