Thanks Dan for the information. As you and I found, for some reason 
SYSTEM(14) does not pass the input buffer count when it is run in 3.4.x 
using the spooler under TELNET. It works when you put it in a normal 
program run under telnet, just not when it is the spooler.

The fix is either running the spooler under the console OR working 
around the SYSTEM(14) via the special end of job sequence.

Again, thank you for your help. If anyone else needs to know the details 
they can email me at [email protected] or on this group.

Richard Kann

Daniel Klein wrote:
> At this point, you might want to post a full 'jdiag.out' file (jdiag -vL).
>
> I'm thinking that the problem is with SYSTEM(14). What compiler is
> being used on this system?
>
> Try this...
>
> cnt = 0
> LOOP UNTIL SYSTEM(14) DO
>     CRT cnt
>     cnt++
>     SLEEP(1)
> REPEAT
>
> Run this program and then press any key to put something in the input
> buffer. Does the program terminate at that point?
>
> Dan
>
> On Fri, Jul 3, 2009 at 9:09 PM, Richard Kann<[email protected]> wrote:
>   
>> I'll correct the graphics line, but that is not what is causing the issue
>> though. The openseqs is correct as it does create the file. It just has 0
>> bytes though and nothing is coming into the input prompt. It has a count of
>> zero for numchars. I also tried writing out what got input and it is blank.
>> It seems I should get the hello and other lines as input but nothing is
>> being sent to the program at all (though the program is being run). HPLJ6 is
>> the printer name.
>>
>> Daniel Klein wrote:
>>
>> I see 2 distinct problems, one is obvious, the other is going to take
>> some debugging on your part.
>>
>> The 'obvious' one is the 'HELLO' code. If you've read the DOSPrinter
>> documentation says that the embedded string must be of the form:
>>
>> <esc>"graphic"
>>
>> so you need to change line 7 to:
>>
>> 004 PRINT CHAR(27):DQUOTE('C:\SIGNATURES\836-1.BMP')
>>
>> Wrt 'the other problem'...
>>
>> is 'openseq_creates = true' set in 'Config_EMULATE' ?
>>
>> is 'HPLJ6' the correct name of the printer, as seen in the printer's
>> 'properties' ?
>>
>> If you go to Control Panel > Printers, and double-click on the
>> printer, then despool the job from jBASE, does anything show up in the
>> printer window?
>>
>> Dan
>>
>>
>> On Fri, Jul 3, 2009 at 2:15 PM, Richard Kann<[email protected]> wrote:
>>
>>
>> Running into an issue. I set it up as you said tweaking the program to match
>> my system. When I send a job to the new printer it does run the jspool
>> program but nothing is being passed. i know this because I have jspool
>> writing out the numchars value to a file and it comes up with zero each
>> time. What would cause the spooled data to not pass to the jspool program? I
>> assume I send it like normal by doing the printer on and print statements.
>> Program below:
>>
>> 001 OPEN '','MD' TO MD ELSE STOP
>> 002   PROMPT ''
>> 003      INCLUDE JBC.h
>> 004      id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000)
>> 005      tempdirname = 'c:\temp'
>> 006      OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE NULL
>> 007      args = SYSTEM(1000)       ;* addl parameters (like
>> 008      printername = args<2>
>> 009      LOOP
>> 010          numchars = SYSTEM(14)
>> 011 WRITE numchars ON MD,'XXXNUM'
>> 012      WHILE numchars DO
>> 013          INPUT line,numchars
>> 014          line=line:CHAR(13)
>> 015          WRITESEQ line ON outstream ELSE NULL
>> 016      REPEAT
>> 017      WEOFSEQ outstream ELSE NULL
>> 018      CLOSESEQ outstream
>> 019      cmd = "C:\DARTSCD\DOSPrinter\DOSPrinter.exe /SEL'":printername:"' "
>> 020      cmd=cmd:' /DEL ':tempdirname:DIR_DELIM_CH:id
>> 021      EXECUTE CHAR(255):'k':cmd
>> 022      END
>>
>> program doing the printing:
>>
>> 001 PRINTER ON
>> 002 PRINT 'HELLO'
>> 003 PRINT 'HOW ARE YOU'
>> 004 PRINT CHAR(27):'C:\SIGNATURES\836-1.BMP'
>> 005 PRINT 'HELLO AGAIN'
>> 006 PRINTER OFF
>> 007 PRINTER CLOSE
>> 008 END
>>
>> the above is run after assigning the GPRINT printer specs below::
>>
>> FormQueue :GPRINT     (DEVCONFIG*1)
>>   Status  :ASSIGNED  (6)
>>   DevType :PROG  (2)
>>   DevName :C:\CWS\DEMO\BIN\JSPOOL.EXE HPLJ6
>>   LockPid :2320
>>   Created :DEMO  0  03 JUL 2009  12:42:59
>>   Stop Reason  :
>>
>>
>> Daniel Klein wrote:
>>
>> Actually, it's DOSPrinter that allows you to embed graphics in the
>> document. If you read the documentation from that link, it tells you
>> how to do this. In a nutshell, there are a few options but the way I
>> do it is to place:
>>
>> <esc>"graphic_name"
>>
>> in the document at the place you want the graphic to be. Note that
>> <esc> is char(27).
>>
>> You can generate the document so that it ends up in the jBASE spooler
>> under a form queue that is created like this:
>>
>> SP-CREATE CANON PROG c:\home\bin\jspool.exe Canon_i850
>>
>> Here's the 'jspool.b' code that uses DOSPrinter:
>>
>> 0001     PROGRAM jspool
>> 0002     INCLUDE JBC.h
>> 0003     id = CHANGE(UNIQUEKEY(),'/',']2F')
>> 0004     tempdirname = 'c:\temp'
>> 0005     OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream ELSE
>> 0006         CREATE outstream ELSE NULL
>> 0007     END
>> 0008     args = SYSTEM(1000)       ;* addl parameters (like
>> printername, cpi, lpi, font, etc)
>> 0009     printername = args<2>
>> 0010     cpi = args<3>
>> 0011     IF cpi = '' THEN cpi = 10
>> 0012     LOOP
>> 0013         numchars = SYSTEM(14)
>> 0014     WHILE numchars DO
>> 0015         INPUT line, numchars
>> 0016         line := CHAR(13)
>> 0017         WRITESEQ line ON outstream ELSE NULL
>> 0018     REPEAT
>> 0019     WEOFSEQ outstream ELSE NULL
>> 0020     CLOSESEQ outstream
>> 0021     cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /DEL
>> /SEL'":printername:"' /CPI":cpi:' '
>> 0022     cmd := tempdirname:DIR_DELIM_CH:id
>> 0023     EXECUTE CHAR(255):'k':cmd
>>
>> If you are on jBASE 3.x then you would need to:
>>
>> a) change line 3 to something like this:
>>
>> id = SYSTEM(21):'_':DATE():'_':TIME():'_':SYSTEM(9):'_':RND(32000)
>>
>> b) change the OPENSEQ lines 5 thru 7 (inclusive) to:
>>
>> OPENSEQ tempdirname:DIR_DELIM_CH:id TO outstream NULL
>>
>> c) make sure 'openseq_creates = true' is set in your 'Config_EMULATE'
>> file under the appropriate emulation section
>>
>> And, of course, line 21 should be changed to something that makes
>> sense on your system
>>
>> You'll note that the code automagically removes the temp file when it
>> is done despooling.
>>
>> DOSPrinter has a robust array of printing options, and all for just 40
>> smackers for a single user.***
>>
>> Dan
>>
>> ***Note that I am in no way affiliated with this product, nor do I
>> receive any kickbacks. I just like it cos it works well and does what
>> the docs say it does, which is more than I can say for a lot of other
>> commercial software out there.
>>
>>
>> On Thu, Jul 2, 2009 at 8:55 PM, Richard Kann<[email protected]> wrote:
>>
>>
>> I will try it. What I found is if I log onto the windows account jbase runs
>> on it works. If I go on a different account it does not. But I did not try
>> the specif printer approach.
>>
>> I am assuming in order to use this I need to put the entire invoice in a
>> text file, write it out somewhere in windows and then print and delete it.
>> That is how print wizard works.
>>
>> It would be nice if jbase itself had a utility to print graphics files
>> within normal print statements. This way I would not have to re-write entire
>> programs to do this kind of printing.
>>
>> Daniel Klein wrote:
>>
>> I think you need to specify the destination printer. Here is an
>> example of what works for me:
>>
>> cmd = "C:\Software\DOSPrinter\DOSPrinter.exe /SEL'Canon_i850'
>> c:\temp\file.txt"
>> EXECUTE CHAR(255):'k':cmd
>>
>> Where 'Canon_i850' is the name of the printer; on my system it is the
>> network shared name.
>>
>> Dan
>>
>>
>> On Thu, Jul 2, 2009 at 5:38 PM, Richard Kann<[email protected]> wrote:
>>
>>
>> Thanks. One question though. It works in command prompt in windows, but when
>> I put it in a program it locks up and will not print. This is the code line.
>> Any ideas:
>>
>> EXECUTE CHAR(255):'k':'C:\TEMP\DOSPRINTER C:\TEMP\SAMPLE2.PRN'
>>
>>
>> Daniel Klein wrote:
>>
>> I use DOSPrinter for all of my printing needs.
>> http://www.geocities.com/DOSPrint/
>>
>> It is especially handy when you have a GDI printer.
>>
>> And it is easy enough to integrate with the jBASE spooler.
>>
>> Dan
>>
>>
>> On Wed, Jul 1, 2009 at 6:40 PM, Richard Kann<[email protected]> wrote:
>>
>>
>> Hi All:
>>
>> I am trying to print a .bmp file (a signature capture) to a PCL inkjet
>> printer (Jbase version 3.4.x windows) at the bottom of an invoice. Has
>> anyone accomplished this before or knows how to do it?
>>
>> Richard Kann
>> Comp-Ware Systems, Inc.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>     
>
> >
>
>
>   

--~--~---------~--~----~------------~-------~--~----~
Please read the posting guidelines at: 
http://groups.google.com/group/jBASE/web/Posting%20Guidelines

IMPORTANT: Type T24: at the start of the subject line for questions specific to 
Globus/T24

To post, send email to [email protected]
To unsubscribe, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/jBASE?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to