Seite 1 von 1

Ausdruck über Netzdrucker

Verfasst: Mi, 19. Apr 2006 9:16
von Werner
Ich habe immer noch Probleme, wenn ein Kunde mit einer Windows 2003 Serverlösung aus einem Xbase++ Programm heraus drucken möchte.

Beim Aufruf von DCPRINT ON SIZE 66,80 To oPrinter `FONT font10 USEDEFAULT AUTOEJECT kam die Fehlermeldung:

VALTYPE: U VALUE: NIÖ
Parameter hat falschen Typ
gebCode:2
operation: papersize
severity:2
subcode: 1025
Thread:1
tries:0

In dem Zusammenhang hätte ich noch eine weitergehende Frage:

Kann man einen Xbase++-Druck über einen speziellen (Drucker-)Pfad auch direkt auf einen Netzdrucker leiten? Wenn ja, wie müsste ein solcher Pfad konkret aussehen? In dem Zusammenhang wird manchmal auch von einer IP-Nummer gesprochen; was ist das?

In der Hoffnung, dass mir jemand helfen kann!

MfG
Werner

Re: Ausdruck über Netzdrucker

Verfasst: Mi, 19. Apr 2006 9:38
von Martin Altmann
Hallo Werner,
Werner hat geschrieben:In dem Zusammenhang wird manchmal auch von einer IP-Nummer gesprochen; was ist das?
das ist die "Hausnummer" eines Rechners. Jeder Rechner mit einer Netzwerkkarte, der auch im Internet (oder auch im interen Netz) hängt, bekommt eine solche IP-Adresse. Sie sieht zum Beispiel folgendermaßen aus: 192.168.12.34
Jedes einzelne Zifferntripel reicht von 0 bis 255 (nach dem aktuellen IP-Standard), wobei sowohl der 0 als auch der 255 eine jeweils besondere Bedeutung zukommen und diese nicht vergeben werden.
Statt der IP-Adresse kann man auch einen Klarnamen verwenden (z.B. www.microsoft.com), der dann automatisch über die sogenannten DNS-Server (DomainNameService) auf die entsprechende IP-Adresse umgesetzt wird.
Am Rechner selber wird dann die IP-Adresse auf die entsprechende Netzwerkkarte umgesetzt, indem die echte Adresse der Netzwerkkarte (MAC-Adresse oder auch physikalische Adresse) genommen wird, die immer folgendermaßen aufgebaut ist:
12-34-56-78-90-AB
Die jeweiligen Zahlen sind im Hexadezimalsystem angegeben.
Wenn Du an Deinem PC auf der Eingabeaufforderung das Kommando ipconfig -all absetzt, bekommst Du nicht nur Deine IP-Adresse, sonden auch die eigentliche MAC-Adresse genannt.

Viele Grüße,
Martin

Re: Ausdruck über Netzdrucker

Verfasst: Mi, 19. Apr 2006 10:03
von brandelh
VALTYPE: U VALUE: NIL
Parameter hat falschen Typ
gebCode:2
operation: papersize
Der Drucker gibt NIL als Papiergröße zurück. Hier sollte ein anderes Ergebnis herauskommen. Wurde dieser Drucker eventuell angehalten (im Kontextmenü) ? Diese Info müßte der Windows Druckertreiber zur Verfügung stellen. Eventuell muß man diese dort erst definieren...
Kann man einen xBase++-Druck über einen speziellen (Drucker-)Pfad auch direkt auf einen Netzdrucker leiten? Wenn ja, wie müsste ein solcher Pfad konkret aussehen?
Ich arbeite nicht mit express. XbpPrinter() nutzt den Druckerpfad, welcher in Windows eingestellt ist, wie jedes andere richtige Windowsprogramm. Wenn man nach DOS Manier drucken möchte UND einen PCL4 oder PS2 oder ESC/P oder IBM Proprinter kompatiblen Drucker hat, kann man auch direkt auf den UNC Namen (so der richtige Name) drucken. Es gibt auch noch das IP-Printing, das kann aber nicht direkt verwendet werden, sondern wird intern vom Druckertreiber genutzt, falls ein Drucker im IP-Netz hängt. Der UNC Name wird bei der Druckerfreigabe angegeben und besteht aus \\SERVER\DRUCKERNAME (wobei hier SERVER der Rechnername des Rechners ist, welcher den Drucker freigibt).

Das folgende Beispiel funktioniert erst mit der neuen 1.90 (hoffentlich):

set printer to \\server\drucker
set printer on
? "Test"
set printer to

Ob das aber das ist, was du willst ?
Wenn der Drucker an USB hängt, oder ein GDI Drucker ist (hostbased etc.) dann geht das direkte Drucken (meist) nicht.

Re: Ausdruck über Netzdrucker

Verfasst: Do, 07. Jul 2016 11:03
von BIK
Eine Frage zur Nutzung der IP eines Druckers:

Wir haben im Netzwerk mehrere IP Drucker mit vorgedruckten Formularen, die jeweils mit Klarnamen "Drucker_XY" angesprochen,
und so auch tadellos funktionieren. Diese Drucker werden ohne die Möglichkeit einer Auswahl direkt nach der Eingabe
der Daten beschickt.

Nun ändern die Kollegen ab und an "ihren" Druckernamen und dann geht der Druck ins leere.
Könntet ihr mir bitte einen Tipp geben, wie ich die IP-Adresse des Drucker verwenden kann damit bei allfälliger
Änderung des Druckernamens der Ausdruck trotzdem raus kommt.

Gruß,
Bernhard

Re: Ausdruck über Netzdrucker

Verfasst: Fr, 08. Jul 2016 8:51
von Herbert
Generell sollte man nicht fix einen Drucker ohne Wahlmöglichkeit einoprogrammieren. Genau solche Ereignisse bewirken einen unnötigen Supportakt.

Lass doch in einem Wahlfenster alle Drucker auflisten, damit der User dort optional einen Drucker auswählen kann.

Andernfalls auf die Schnelle empfehle ich dir, den Druckernaamen als Parameter für den Nutzer änderbar einzurichten.

Re: Ausdruck über Netzdrucker

Verfasst: Fr, 08. Jul 2016 8:51
von AUGE_OHR
BIK hat geschrieben:Nun ändern die Kollegen ab und an "ihren" Druckernamen und dann geht der Druck ins leere.
Könntet ihr mir bitte einen Tipp geben, wie ich die IP-Adresse des Drucker verwenden kann damit bei allfälliger Änderung des Druckernamens der Ausdruck trotzdem raus kommt.
auf Windows 10 upgraden ... ich schaffe es nicht, unter Druckereigenschaften, den Namen zu verändern.

zwischen IP und der Bezeichnung des Druckers gibt es IMHO keinen Zusammenhang.

mit XbpPrinter:List() kann man sich ja ein Array der vorhandenen Drucker Namen ausgeben lassen.
in einer DBF habe ich nun "meinen" Druckernamen und ein Feld für den gewünschten Drucker.

per ASCAN suche ich nun den Druckernamen im Array.
wenn nicht gefunden wird der XbpPrintDialog() aufgerufen und das Ergebnis in der DBF gespeichert.

Re: Ausdruck über Netzdrucker

Verfasst: Fr, 08. Jul 2016 11:15
von BIK
Herbert hat geschrieben:Generell sollte man nicht fix einen Drucker ohne Wahlmöglichkeit einoprogrammieren. Genau solche Ereignisse bewirken einen unnötigen Supportakt.
Lass doch in einem Wahlfenster alle Drucker auflisten, damit der User dort optional einen Drucker auswählen kann.
Andernfalls auf die Schnelle empfehle ich dir, den Druckernaamen als Parameter für den Nutzer änderbar einzurichten.
Wir hatten das schon mit der Druckerwahl!
Die Dokumente sind einmalig und mit einer laufenden Nummer versehen und je nach Abteilung in anderen Sprachen gedruckt.
Nun kam es immer wieder vor, dass z.B. Papiere die nach Frankreich gehen sollten nicht die Landessprache aufwies!
AUGE_OHR hat geschrieben:
BIK hat geschrieben: zwischen IP und der Bezeichnung des Druckers gibt es IMHO keinen Zusammenhang.
Ich dachte, dass ich über die printerPS, so wie jetzt mit 'Druckernamen' oder '\\Server01\Drucker', auch mit der IP den Drucker erreiche.

Gruß,
Bernhard

Re: Ausdruck über Netzdrucker

Verfasst: Sa, 09. Jul 2016 7:07
von AUGE_OHR
BIK hat geschrieben:Ich dachte, dass ich über die printerPS, so wie jetzt mit 'Druckernamen' oder '\\Server01\Drucker', auch mit der IP den Drucker erreiche.
wie schon gesagt gibt dir XbpPrinter():List() die "Namen" aus ... aber wenn die umbenannt wurden ...

ich habe es noch mal mit WMI ausprobiert. das funktioniert mit einer IP

http://www.xbaseforum.de/viewtopic.php? ... ter#p90329
unter "PortName" findest du die IP und unter "Caption","DeviceID" und "Name" den veränderten Druckernamen.

Re: Ausdruck über Netzdrucker

Verfasst: Di, 12. Jul 2016 15:28
von BIK
Danke