LPT unter Windows 10 Verion 1511

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Fr, 22. Jan 2016 14:43

Hallo,

ich habe meinen neuen PC direkt mit der aktuellen Windows Version installiert und sehe nun, dass meine Xbase-Programme nicht mehr drucken können.
Im Programm steht:
Code: Alles auswählen
  SET DEVICE TO printer
  SET PRINTER TO &drucker1


Die Fehlermeldung lautet:
oError:args :
-> VALTYPE: N VALUE: 24
-> VALTYPE: C VALUE: LPT1.prn
-> VALTYPE: L VALUE: .F.
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: Y
oError:cargo : NIL
oError:description : Operating system error
oError:filename :
oError:genCode : 40
oError:operation : set
oError:osCode : 2
oError:severity : 2
oError:subCode : 4
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0



Die Suche im Internet zeigt, dass das Verhalten bekannt, es aber keine Lösung dazu gibt. Anscheinend sind das die ersten Schritte von Microsoft, alte Schnittstellen abzuschaffen.

Hat jemand das Verhalten auch schon beobachten können oder eine Lösung dazu?

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon brandelh » Fr, 22. Jan 2016 15:11

WENN der Druckertreiber altes Drucken unterstützt (PCL4 etc.), wie einige teurere Laserdrucker,
kann man die Druckausgabe auf LPT umlenken (wie ein Netzwerkdrucker) ...

Meist trifft man heute jedoch auf Tintenstrahldrucker und die sind gerade NICHT an LPT Schnittstellen zu finden.

Man kann versuchen direkt auf das Druckerobjekt zu drucken, ob das aber mit jedem tintenstrahldrucker funktioniert weiß ich nicht.

SET PRINTER TO OBJECT <oXbpPrinter>

Wenn das tatsächlich gedruckt werden soll (Textdateien erzeugt man mit set alternate), sind die Ergebnisse auf jeden Fall dürftig.

Es ist Zeit auf XbpPrinter(), Reportgeneratoren oder meine Druckerklasse (HBPrintX) auszuweichen.
Die Ergebnisse stimmen auf jedem Drucker unter Windows,
sehen gut aus (Farbe, Schriftarten, Spalten etc.),
Bilder und Barcodes sind auch möglich.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Fr, 22. Jan 2016 15:19

Hallo Hubert,

in diesem Fall sind es Epson Matrixdrucker, die an Netzwerk Printservern angeschlossen sind.
Unter Windows gibt es einen Druckerpool mit dem LPTx und dem IP-Anschluss.

Entschuldige die Anfängerfrage; wie muss ich denn meine Programmierung abändern?
Am liebsten würde ich direkt den Printserver benutzen.

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon brandelh » Fr, 22. Jan 2016 15:47

Epson Nadeldrucker ... im Grafikmodus oder im Text Modus ?

Im Grafikmodus sind die sehr langsam (aus dem Gedächtnis ... ist lange her), verhalten sich aber wie Windowsdrucker.
Für Xbase++ Grafikdruck braucht man ein Windows Drucker Objekt.
Wenn es ein Windowsdruckerobjekt gibt, kann man es mit XbpPrinter() oder XbpPrinterDialog() ansprechen bzw. auswählen.
Meine Druckerklasse ist in der Wissensbasis zu finden, mit Beispielen, aber natürlich muss man in beiden Fällen dazu lernen.

Wo ein Netzwerkdrucker ist kann man normal auch ein lokales Windowsdruckerobjekt hinzufügen (über den Druckerserver)

Wenn die Freigabe über einen Windows Rechner (bis 7) erfolgt, nimmt man

NET USE \\Rechnername\Druckerfreigabename ... (NET USE /? zeigt die Parameter an)

Ob das unter Windows 8 und 10 noch geht kann ich nicht sagen.

Ich habe alle meine Programme vor Jahren auf grafischen Druck umgestellt.

Hier ein einfaches Beispiel wie man mit der Methode SAY druckt (für einfache Druckausgaben):
Code: Alles auswählen
*#### ANSI .t. äöü ÄÖÜ ß !!!!
#include "Gra.ch"
#include "Xbp.ch"
#include "Common.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "xbpdev.ch"


*---------------- Fonts nur einmal erzeugen - create fonts only once ------

procedure main
local oHBPrinter, nRow, nCol, nCPI, nFont

SET CHARSET TO ANSI

*    nur für Tests - only for debugging

#ifdef __WIN32__
   set alternate to log.txt
#else
   set alternate to log2.txt
#endif
set alternate on


? "Test_SAY.EXE - Printertest"
oHBPrinter := HBPrinter():New():create()
if oHBPrinter:IsPrinterError()             // Fehler verhindern, avoid errors
   ?
   ? "Standarddrucker ist nicht verfügbar !"
   ? "Standardprinter is not ready !"
   ?
   ? "Status: ",oHBPrinter:printerStatus(),"=",cPrinterStatus(oHBPrinter:printerStatus())
   ?
   ?
   wait
else

   nFont := 1

   nCPI  := { 10, 12, 17, 10 }[nFont]

   // The fonts are not exactly the same size, and may depend on the printer
   // or printersetting (:setFontMode( [<nMode>] )
   // Die Fontgröße sind nicht genau gleich. Außerdem können Sie vom
   // Druckermodell bzw. der Druckereinstellung abhängen (:setFontMode( [<nMode>] )

   // oHBPrinter:setFontMode(XBPPRN_FONTMODE_GRAPHIC)
   oHBPrinter:addFont("12.Courier New" ) // -> 10CPI
   oHBPrinter:addFont("10.Courier New" ) // -> 12CPI
   oHBPrinter:addFont(" 7.Courier New" ) // -> 17CPI
   oHBPrinter:addFont("12.Verdana" )     // why not, but don't use Blanks to format.

   oHBPrinter:SetFont(nFont)
   oHBPrinter:StartDoc("SAY Print")

   for nRow := 1 to 70
     do case
       case nRow == 7
         for nCol := 1 to 9
             oHBPrinter:say(nRow,nCol*10,nCol,,10)
         next
       case nRow == 8
         oHBPrinter:say(nRow,1,"         1         2         3         4         5         6         7         8         9",,nCPI)
       case nRow == 9
         for nCol := 1 to 9
             oHBPrinter:say(nRow,nCol*10,nCol,,nCPI)
         next
       case nRow == 10
         oHBPrinter:say(nRow,1,"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-",,nCPI)
       otherwise
         oHBPrinter:say(nRow,11,"Zeile / Row: "+str(nRow,3),,nCPI)
     endcase
   next
   oHBPrinter:say(15,30,oHBPrinter:DevName)
   oHBPrinter:say(16,30,"iiiii")
   oHBPrinter:say(17,30,"mMmmm")
   oHBPrinter:say(19,30,":compoundname")
   oHBPrinter:say(20,30,":nominalPointSize")
   oHBPrinter:say(21,30,":fixed")
   oHBPrinter:say(19,50,oHBPrinter:SetFont():compoundname)
   oHBPrinter:say(20,50,oHBPrinter:SetFont():nominalPointSize)
   oHBPrinter:say(21,50,oHBPrinter:SetFont():fixed)

   oHBPrinter:newPage()
   oHBPrinter:say(15,30,"NewPage()")

   for nRow := 1 to 70
     do case
       case nRow == 9
         oHBPrinter:say(nRow,1,"         1         2         3         4         5         6         7         8         9")
       case nRow == 10
         oHBPrinter:say(nRow,1,"123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-123456789-")
       otherwise
         oHBPrinter:say(nRow,11,"Zeile / Row: "+str(nRow,3))
     endcase
   next
   oHBPrinter:EndDoc()

endif

? "END"
inkey(5)


quit


return


und hier mit den normalen auf 1/10 mm basierenden Auflösungen druckt (mischen ist kein Problem):

Code: Alles auswählen
*#### ANSI .t. äöü ÄÖÜ ß !!!!
#include "Gra.ch"
#include "Xbp.ch"
#include "Common.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "XBPDEV.ch"


*---------------- Fonts nur einmal erzeugen - create fonts only once ------
procedure main
local oHBPrinter,getlist := {} , cEAN13_Nr := space(13)

SET CHARSET TO ANSI

cls
@1,1 say "len()=12 -> will calculate 13. position; len()=13 -> no change"
@3,1 say "EAN13-Nr.: " get cEAN13_Nr picture "9999999999999"
set cursor on
set confirm on

read

if empty(cEAN13_Nr)
   quit
endif


? "-"+curdrive()+"-"+curdir()+"- Vor Create"

oHBPrinter := HBPrinter():New():create()   // Bei Netzwerkdruckern kann es vorkommen, dass
                                           // diese nicht verfügbar sind, dann fehlen alle
                                           // Infos zum Drucker und es kommt zu Laufzeitfehlern
                                           // if your network printer is not available
                                           // there will be runtime errors


? "-"+curdrive()+"-"+curdir()+"- Nach Create"

if oHBPrinter:IsPrinterError()             // Fehler verhindern, avoid errors

? "-"+curdrive()+"-"+curdir()+"- Nach ERROR"

   ?
   ? "Drucker ist nicht verfügbar !"
   ? "Printer is not ready !"
   ?
   ? "Status: ",oHBPrinter:printerStatus(),"=",cPrinterStatus(oHBPrinter:printerStatus())

else

   oHBPrinter:addFont("10.Arial")
   oHBPrinter:setFont(1)

   ?
   ? "Printer name:     ",oHBPrinter:devName
   ? "Printer comment:  ",oHBPrinter:comment
   ? "Printer port:     ",oHBPrinter:devPort
   ? "Printer location: ",oHBPrinter:location
   ?

? "-"+curdrive()+"-"+curdir()+"- Vor StartDoc"

   oHBPrinter:StartDoc()

? "-"+curdrive()+"-"+curdir()+"- Nach StartDoc"

   oHBPrinter:PrintText(200,200,"Testdruck für Barcode")
   oHBPrinter:PrintBarCodeEan13(200,500,cEAN13_Nr)

? "-"+curdrive()+"-"+curdir()+"- Vor EndDoc"


   oHBPrinter:EndDoc()

? "-"+curdrive()+"-"+curdir()+"- Nach EndDoc"

endif

? "Ende"

wait


return
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Fr, 22. Jan 2016 17:01

Hallo Hubert,

es geht nur um Textdruck.
Ich möchte jetzt möglichst wenig Änderungen vornehmen, da das Programm teilweise schon seeeehr alt ist.

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon Leon » Fr, 22. Jan 2016 22:58

IngoM hat geschrieben:es geht nur um Textdruck.
Ich möchte jetzt möglichst wenig Änderungen vornehmen, da das Programm teilweise schon seeeehr alt ist.


Mit NET USE LPT1 \\PRINTSERVER\DRUCKERNAME aus einem Commandfenster sollte der Druck auf LPT1 keinen Fehler bringen, auch unter W10 nicht. Da muss auch nichts im Programm geändert werden.
Gruß aus Wien
Leon
Leon
UDF-Programmierer
UDF-Programmierer
 
Beiträge: 74
Registriert: Mi, 28. Nov 2007 12:48
Wohnort: Wien

Re: LPT unter Windows 10 Verion 1511

Beitragvon AUGE_OHR » Sa, 23. Jan 2016 2:19

hi,
IngoM hat geschrieben:
Code: Alles auswählen
  SET DEVICE TO printer
  SET PRINTER TO &drucker1

-> VALTYPE: C VALUE: LPT1.prn
hm ... wo kommt das ".PRN" her ?

ein NET USE (Lanmanager) würde ich nicht mehr nehmen. wähle einen "lokalen" (!) Drucker mit "TCP/IP - Standart Port" und trage die IP ein.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10071
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Sa, 23. Jan 2016 8:07

Hi Leon und Jimmy,

ein NET USE möchte ich nicht verwenden. Eine Lösung mit direkter Verwendung der IP-Adressen erscheint mir günstiger.
Ich beschreibe noch mal die genaue Situation.

Das Programm ist noch reiner Clipper-Code und liegt, zusammen mit den Daten, auf einem Small Business Server 2011.
Die PCs laufen unter Windows 7 Pro 32bit.
Bei den Druckern handelt es sich um Epson-Nadeldrucker im Textmodus. Die Drucker sind mit 1-Port Printservern mit dem Netzwerk verbunden.
Auf den PCs gibt es Druckerpools mit LPTx und einem lokal definierten IP-Anschluss.
Wird jetzt, wie am Anfang beschrieben, aus dem Programm gedruckt, ist der IP-Port immer verfügbar und der Druck wird über das Netzwerk ausgeführt.

Jimmy, wie sieht die Syntax mit IP-Adresse aus?

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon Jan » Sa, 23. Jan 2016 8:42

Ingo,

irgendwann wirst Du den Code anpassen müssen. Du kannst nicht erwarten das ein Code, der für Hardware und Betriebssystem von vor 20 Jahren geschrieben wurde, auf ewig mit den aktuellen Gegebenheiten klar kommen kann.

Meistens gibt es relativ einfache Möglichkeiten, um wenigstens noch ein wenig Zeit zu schinden. Aber Du mußt am Code was ändern. Vermutlich wird es reichen wenn Du einfach nur ein Druckerobject erstellst und den Druck, so wie der jetzt codiert ist, dahin schickst. Sowas habe ich z. B. mit einer alten Kassensoftware gemacht, die weiterhin per ? und ?? auf dem Bondrucker ausgibt. Das geht da auch über einen Printserver.

In der aktuellen c't gibt es übrigens einen kurzen Artikel, der auf dieses Thema eingeht.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11453
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Sa, 23. Jan 2016 9:11

Hallo Jan,

in der c't bin ich noch nicht so weit gekommen.
Kannst Du mir ein Beispiel Deiner Lösung geben?

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon Jan » Sa, 23. Jan 2016 9:26

Ingo,

das hier ist der Originalcode aus dem Bondruck. Das muß bei Dir eventuell angepasst werden, vieleicht kannst Du das auch kürzen. Ich hab halt eine Überprüfung drin, ob der korrekte Drucker überhaupt installiert ist. Wenn an den betreffenden Rechnern der benötigte Drucker als Standard-Drucker eingerichtet ist, dann kann alles in dem markierten Bereich weg. Außerdem hab ich die Schleife drin für mich in der Entwicklung, damit ich nicht immer einen Bondrucker auf eminem Rechner haben muß - der Druck geht dann in eine PDF.

Code: Alles auswählen
// Den Standarddrucker initialisieren, keine Druckerauswahl anbieten
LOCAL oDrucker := NIL
LOCAL aDrcuker := {}
LOCAL nDrucker := 0

oDrucker := XbpPrinter():new()                                                                     // Neues Druckerobjekt
*** Ingo: Ab hier Auswahl
aDrucker := oDrucker:list()                                                                        // Welche Drucker sind installiert?
IF FILE("entw.txt")
   nDrucker := AScan(aDrucker, {|x, y| "FreePDF" $ x})

 ELSE
   nDrucker := aScan(aDrucker, {|x, y| cKassenKuerzel + "-KASSE" $ Upper(x)})
   IF nDrucker == 0
      nDrucker := aScan(aDrucker, {|x, y| "-KASSE" $ Upper(x)})
   ENDIF
ENDIF
IF nDrucker == 0
   MsgBox("Es ist kein Epson TM-U220 Bondrucker installiert", "Achtung")
   RETURN NIL

 ELSE
   oDrucker:create(aDrucker[nDrucker])                                                             // Den Druck auf den Epson TM-U220 schicken
ENDIF
*** Ingo: Ende Auswahl. Wenn Du das in der Markierung weg läßt mußt Du diese Zeile noch haben: oDrucker:create()

Set Device TO printer
Set Printer On
Set Printer TO Object oDrucker

Danach kannst Du Deine gewohnte Druckroutine mit ? und ?? laufen lassen, die Formatierungen mit den ESC-Codes, usw.

Und nach dem Ausdruck alles wieder aufräumen:
Code: Alles auswählen
// Bildschirm und Drucker zurücksetzen
oDrucker:destroy()
Set Printer TO
Set Printer Off
Set Device TO Screen
Set Console On


Ich hoffe, Du kannst damit was anfangen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Foren-Administrator
Foren-Administrator
 
Beiträge: 11453
Registriert: Fr, 23. Sep 2005 17:23
Wohnort: 49328 Melle

Re: LPT unter Windows 10 Verion 1511

Beitragvon AUGE_OHR » Sa, 23. Jan 2016 12:32

IngoM hat geschrieben:Das Programm ist noch reiner Clipper-Code und liegt, zusammen mit den Daten, auf einem Small Business Server 2011.
Die PCs laufen unter Windows 7 Pro 32bit.
Bei den Druckern handelt es sich um Epson-Nadeldrucker im Textmodus. Die Drucker sind mit 1-Port Printservern mit dem Netzwerk verbunden.
Auf den PCs gibt es Druckerpools mit LPTx und einem lokal definierten IP-Anschluss.
Wird jetzt, wie am Anfang beschrieben, aus dem Programm gedruckt, ist der IP-Port immer verfügbar und der Druck wird über das Netzwerk ausgeführt.
...
Code: Alles auswählen
SET PRINTER TO &drucker1
was steht den in &drucker1 ? "LPT1.prn" ?
SET PRINTER TO [<cDevice> | <cFileName> [ADDITIVE] ]

<cDevice>

<cDevice> ist der Name des Ausgabegeräts bzw. -kanals, an den die Druckausgaben gesandt werden sollen. Er kann entweder als Literal oder als Zeichenausdruck in ()-Klammern angegeben werden. Es kann ein lokales oder ein über ein Netzwerk erreichbares Gerät sein. Falls <cDevice> nicht existiert, wird eine ASCII-Datei mit diesem Namen erzeugt.

<cFilename>

<cFilename> gibt den Namen der ASCII-Datei an, in die die Druckausgabe umgeleitet wird. Der Name muß ggf. die Angaben für Laufwerk und Verzeichnis enthalten. Er kann entweder als literaler Dateiname oder als Zeichenausdruck in ()-Klammern angegeben werden. Wenn der Dateiname ohne Dateierweiterung angegeben ist, wird standardmäßig die Erweiterung ".PRN" verwendet.
ich vermute mal das du
Code: Alles auswählen
drucker1 := "LPT1"
in deinem Code stehen hast ... das ist nicht DOS sondern Windows :badgrin:

er geht wohl von einem <cDevice>, was nicht existiert, oder <cFilename> ( wegen ".PRN" ) aus
... hm ... :-k ... ich frage mich ob da was mit der Syntax > XP war ... "LPT1:" (Doppelpunkt) :?:

---

öffne mal deine Drucker Auflistung und siehe dir die "Namen" an.
Du hast jetzt nicht mehr eine beschränkte Anzahl von Ports ( LPTx ) sondern sprichst die Geräte mit dem Namen (oder IP) an.

ich lege für jeden benötigten LPTx Port eine Kopie des Druckers an, ändere den Namen, LPTx Port usw.

unter Xbase++ erstellst du ein Printer Object mit dem Namen des Druckers, wozu du auch XbpFileDialog() nutzen kannst.
wenn du mehrer Printer Objecte gleichzeitig aktive hast kannst du mit
Code: Alles auswählen
SET PRINTER TO OBJECT <oXbpPrinter>
wie bei LPTx "umschalten"


IngoM hat geschrieben:Jimmy, wie sieht die Syntax mit IP-Adresse aus?
siehe Bild
Dateianhänge
Printer_IP_Port.jpg
Printer_IP_Port.jpg (229.18 KiB) 1228-mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10071
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Sa, 23. Jan 2016 14:25

Hallo Jimmy,

Du hast richtig vermutet; in &drucker1 steht "LPT1".

Dein Vorschlag scheint sich, für mich, am einfachsten realisieren zu lassen.
Mein Programm verwendet zwei Drucker. Ich kann also beide, für LPT1 und LPT2, beim Start des Programmes anlegen und dann nach Bedarf im Programm umschalten. Am Ende des Programmes zerstöre ich dann die Druckerobjekte wieder?

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon Wolfgang Ciriack » Sa, 23. Jan 2016 17:35

War da nicht mal was mit einem Punkt, damit nicht .prn angehängt wird?
Versuch doch mal als Drucker "LPT1."
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2205
Registriert: Sa, 24. Sep 2005 8:37
Wohnort: Berlin

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » So, 24. Jan 2016 7:06

Hallo,

zu diesem Problem findet sich ein Beitrag in der c't Nr. 3 vom 23.01.2016 auf Seite 149; "Windows 10: Druckerprobleme am Parallel-Port".
Außerdem findet sich die Beschreibung eines "Workarounds" auf
http://answers.microsoft.com/en-us/wind ... 61890c24a6

Viele Grüße
Ingo
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23

Re: LPT unter Windows 10 Verion 1511

Beitragvon AUGE_OHR » Mo, 25. Jan 2016 7:05

Tja ... der "Parallel-Port" wurde von M$ ebenso behandelt wie die "Floppy-Disk" ... moderne Geräte haben so was nicht mehr :badgrin:
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10071
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: LPT unter Windows 10 Verion 1511

Beitragvon brandelh » Mo, 25. Jan 2016 8:04

LPT1 ist eine physikalische Schnittstelle an der mit einem alten Kabel ein Drucker hängt
oder eine logische auf die ein anderer Drucker umgelenkt wird.
Die traditionelle Vorgehensweise ist die Zuordnung mit NET USE, auch wenn es ein lokaler Drucker ist.
Ein Drucker im Netzwerk wird immer zugeordnet, da seine Schnittstelle nunmal NICHT LOKAL ist.

Diese Zuordnung konnte man früher mit "NET USE" machen, oder im Druckertreiber einem LPT zuordnen.

Wie auch immer, SET PRINTER TO OBJECT wie in Jan's Beispiel sollte funktionieren, da es ja echte Zeilendrucker sind.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: LPT unter Windows 10 Verion 1511

Beitragvon IngoM » Mo, 25. Jan 2016 10:16

Hallo Hubert,

Danke für den Tip; diesmal habe ich den Wald vor lauter Bäumen nicht gesehen.

Durch die SMB-Probleme im Verlauf der Umstellung auf SBS 2011 wurden alle Drucker netzwerkfähig gemacht.
NET USE ist dann natürlich die eleganteste Lösung, da nichts im Programm geändert werden muss.
Ich gehe davon aus, dass das funktioniert, muss es aber bei meinem Kunden noch testen.
Viele Grüße
Ingo
IngoM
Cut&Paste-Entwickler
Cut&Paste-Entwickler
 
Beiträge: 27
Registriert: Di, 09. Jul 2013 8:23


Zurück zu Drucken und Export

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron