Inicializar Initialize usb printer by dev-make d3 windows server 2008

80 views
Skip to first unread message

Rafael Rivas

unread,
Apr 4, 2023, 8:49:31 AM4/4/23
to Pick and MultiValue Databases
good morning, I have several printers connected by usb port in workstations that were replaced by matrix printers and I have no idea how to configure them by dev-make and startptr
thank you

David Knight

unread,
Apr 4, 2023, 3:11:54 PM4/4/23
to Pick and MultiValue Databases
Hi Rafael,
I am not certain it can be done unless you are using some form of slave printing if the printer is attached to a workstation and not the server.

d3 can only print to printers Windows can 'see' from the server; so if you can get the server to print to the printer; essentially using the workstation as a print server; then the dev-make will be of the form which talks to a 'named' Windows printer. Read the manual for syntax.

The problem with this is the printer shall 'appear' and disappear depending upon the state of the workstation which is why doing it this way is not a grand idea. Instead use dedicated printer servers attached to the Lan which have USB outlets for the printers. As those print servers are always on; the printers are always on, too.

HTH.

Wol

unread,
Apr 4, 2023, 4:52:57 PM4/4/23
to mvd...@googlegroups.com
On 04/04/2023 20:11, David Knight wrote:
> Hi Rafael,
> I am not certain it can be done unless you are using some form of slave
> printing if the printer is attached to a workstation and not the server.
>
> d3 can only print to printers Windows can 'see' from the server; so if
> you can get the server to print to the printer; essentially using the
> workstation as a print server; then the dev-make will be of the form
> which talks to a 'named' Windows printer. Read the manual for syntax.

Depending on the version of windows you have on your workstation, you
should be able to share the printer, so it becomes visible on the
network as \\workstation\printer.
>
> The problem with this is the printer shall 'appear' and disappear
> depending upon the state of the workstation which is why doing it this
> way is not a grand idea.

Why? If it's a personal workstation and personal printer, then it's a
very sensible way of doing it. If you call all of the printers the same
name, and have some way for a program to get the name of the workstation
computer, certainly in UniVerse you could SETPTR AT \\windows\share. I
had a setup similar to that whereby the login script set the default
printer to the user's department printer.

Dunno if you could do it in D3, but get the workstation name, do a
SETPTR AT \\workstation\printer, and anything the user prints will, by
default, print at the printer next to them.

Cheers,
Wol

David Knight

unread,
Apr 5, 2023, 8:34:45 AM4/5/23
to mvd...@googlegroups.com
Hi Wol,
Because I saw the OP speak of using dev-make; which ends up creating a 'printer' and 'form q' within d3; whereby printing is sent from your d3 app [typically] to said FQ.

Now, those associations are constructed at d3 vme start-up time when the command is first issued usually from registry-entries, but not always; and the 'connection' from d3 is to a Windows spooler instance of the actual printer as it stands at that time.

Now, it appears that Windows itself is far more fault tolerant of a network printer 'disappearing' from a network; and [apparently] will happily re-spawn a 'fresh' instance of the Windows spooler when the printer reappears; making it transparent to Windows apps that the printer went away and came back. However, [apparently] d3, when it makes it's connection does so to a 'handle' [similar to a memory address] that was in existence when it started; but is blissfully unaware when it changes. The net effect being the print job 'leaves' d3 and goes nowhere. Stop and restart d3 [or reset the dev-make instance via a series of steps]; and it will all come back again.

How do I know this? Because it was the bane of my existence for 20-odd years dealing with d3 and remote printers.

Putting this all another way, a d3 application executing centrally has no real 'knowledge' of anything local to the desktop. Everything is server-centric; hence my comments.

Of course, there are other ways of printing; but in general the standard directly-supported method of d3 printing is via it's server-centric spooler. That said, I believe there are now 'new' methods of dealing with this via the recent merge of mvbase into d3; whereby d3 can execute locally and thus 'see' local printers. MvWorkstation or somesuch.

But, again I say the OP was not speaking of that but speaking of using dev-make.

No similar command I've ever seen to: SETPTR AT \\workstation\printer; but would be a lovely idea.

From the manual:

dev-make command (Windows)

The dev-make BASIC program creates devices connected to the VME. Devices can be removed with the dev-remov command.

Note:A device cannot be created if the PIB is already in use, the device does not exist or it is opened by another application.

Syntax

dev-make -t type{-n number} {-a arg{,arg}}

Parameter(s)

-t typeDevice types.
SerialDirect serial device. The device number is the PIB number associated to the device.
PickRemoteAllows sharing dedicated printers across multiple VMEs.
printerDirect Printer device. The device number is the form queue number associated to the device.
telnetTelnet port. The device number is the PIB number associated, or nailed, to the Telnet port.
SSLSSL port. The device number is the PIB number associated to the SSL port.
tapeTape device. The device number is not needed and will be ignored.
NTPrinterShared Windows Printer process. The device number is the PIB number of the printer process.
numberOptional device number. The meaning of the device number varies depending on the device type.
-a arg {,arg}Optional device arguments. The meaning of the argument varies depending on the device type.

D


--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to a topic in the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mvdbms/NYREuTpywh4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mvdbms+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mvdbms/e43fd330-a1a2-b701-5775-88c92172c563%40youngman.org.uk.

Mailtrack Sender notified by
Mailtrack
05/04/23, 13:33:59

Rafael Rivas

unread,
Apr 5, 2023, 5:42:03 PM4/5/23
to mvd...@googlegroups.com
Thank you David Knight, very kind to answer and thank you for your time

It is very true that the printers are only displayed when the workstations are active, the problem I have is that the printers are from a USB port and d3 is only recognizing printers through lpt1... when I activate them with dev-make -t ntprinter -n 24 -a "\\pcname\HPLaserJet" and run startptr 2,2,0,s24 (S; sp-assign f2, so far so good, when I send the job to print the job is waiting in the windows dialog and it does not print and in the port column it is blank

R.R.

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mvdbms/af03dc17-cd09-44fb-ad7e-b24ffbce5cfcn%40googlegroups.com.

Rafael Rivas

unread,
Apr 5, 2023, 5:42:03 PM4/5/23
to mvd...@googlegroups.com
Hello, thank you David, thank you wol, thank you for your valuable collaboration and your explanation, thank you for your time
Rafael Rivas, Venezuela
bye, until another opportunity

You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mvdbms/CA%2B6e7r4fYC-Bmx-uRGCAcjpJwvCLS3yL9NWbr3uwsFkATwSeJA%40mail.gmail.com.

Steven Martin Trimble

unread,
Apr 5, 2023, 5:52:19 PM4/5/23
to mvd...@googlegroups.com
If you are using 'D3', you can use the SP-ASSIGN AS scenario to print ON an attached printer or if using AccuTerm, any printer that the Windows workstation can see.
The biggest problem you will have to solve is 'what' kind of emulation the printer is using. I recommend to my users (if they are using a laser printer), to always buy a PCL printer. You then create a Windows printer as a 'Generic/Text' raw printer driver. You then must program using the PCL language syntax.
I've almost switched all my users to openQM.It has a 'builtin' PCL setting and works flawlessly.
good luck!

CDMI
Steve Trimble
(501) 772-3450 cell/text


Rafael Rivas

unread,
Apr 5, 2023, 6:58:55 PM4/5/23
to mvd...@googlegroups.com
Hello Steven, that was the solution, of course with other alternatives and thus resend reports in pdf to any printer through accuterm and pdfcreator and it works perfectly for me using sp-assign as
Thank you Steven for your response and your time to respond.
ps: in venezuela we work with our nails to keep the D3 alive

Raphael Rivas

David Knight

unread,
Apr 6, 2023, 3:03:42 AM4/6/23
to Pick and MultiValue Databases
Hi Rafael,
By using dev-make d3 is not 'seeing' the printer nor port at all. It only 'sees' the Windows spooler printer instance.

You can test this very easily:

use dev-make, startptr and sp-assign etc as you describe and at TCL. At the same time, open up the Windows spooler on the server and have it on screen.

At TCL do something simple like 'BLOCK-PRINT THIS IS A TEST (P' which will send a print job to the assigned FQ. You shall see the print job 'appear' and 'disappear' in Windows, proving the d3 print job made it there. You can also check the d3 spooler via LISTPEQS which should remain empty; further proving as far as d3 is concerned, the job 'printed'.

Thus the issue becomes 'what did Windows do with the print job?'

My guess is the printer is a GDI printer or the driver needs adjusting; typically ensuring it is set to 'RAW'. Now, bear in mind if you set the printer up on the desktop and then set THAT as a shared printer you have a number of steps in the sequence; especially Windows server spooler is taking to the PC's Windows spooler, each of which has a printer driver that interprets and acts upon the content of the data stream. Unfortunately, many modern drivers do not'understand' really simple ASCII data streams such as those coming out from d3.

I recall there is something in the d3 manual about GDI printers.

HTH

David

Reply all
Reply to author
Forward
Message has been deleted
0 new messages