Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi AssignPrn sendet zuviele Zeichen (https://www.delphipraxis.net/175546-assignprn-sendet-zuviele-zeichen.html)

WoGe 29. Jun 2013 21:44

AssignPrn sendet zuviele Zeichen
 
Ich habe einen Vor Windows-Plotter bisher einwandfrei mit Assignfile(tf, 'LPT1') und writeln(tf, Plottbefehl) betreiben können.

Wenn ich jetzt stattdessen AssignPrn(tf) verwende, funktioniert es nicht mehr.
Gebe ich beide Varianten auf einem Star-Nadeldrucker aus kann ich keinen Unterschied erkennen.

Meine Vermutung ist, das Windows hier "unsichtbare" Zeichen zusätzlich schickt.
Wie kann ich das Vermeiden oder gibt es einen weiteren Weg wie ich dem Plotter Daten schicken kann. Der Rechner mit dem LPT Port gibt leider gerade seinen Geist auf.

Grüße
wo

sx2008 29. Jun 2013 22:39

AW: AssignPrn sendet zuviele Zeichen
 
Drucke einfach über den Spooler von Windows.
http://www.delphipraxis.net/23387-da...er-senden.html

Damit kannst du auch über USB oder Netzwerkprotokolle deinen Plotter erreichen.
Der Plotter muss nur als Drucker unter Windows installiert sein.
Dazu benötigt man nicht zwingend den passenden Druckertreiber; der "Generic / Text only"-Treiber tut's auch.

jbg 30. Jun 2013 09:30

AW: AssignPrn sendet zuviele Zeichen
 
Zitat:

Zitat von sx2008 (Beitrag 1220093)
Drucke einfach über den Spooler von Windows.
http://www.delphipraxis.net/23387-da...er-senden.html

Die Unit is nicht für Unicode-Delphis migriert (funktioniert also so wie sie im Moment ist nicht ab Delphi 2009). Der DocumentData Parameter müsste auf AnsiString bzw. RawByteString oder gar TBytes umgestellt werden.

WoGe 30. Jun 2013 20:01

AW: AssignPrn sendet zuviele Zeichen
 
Danke für die Antworten.

Die Rawprint Unit dürfte das Problem lösen.

Testen kann ich das am Plotter leider erst, wenn ich eine funktionierende Parallele Schnittstelle in den Fingern habe.

Aber ich habe das schon mal mit einem normalen Drucker getestet, und habe folgendes gefunden:

Delphi7 kompiliert die Unit und das erzeugte Programm funktioniert erwartungsgemäß.

wie jbk vermutet hat, funktioniert es mit neueren Compiler nicht:

Delphi2010 kompiliert auch klaglos - Programm funktioniert nicht.
DelphiXE3 verweigert die Kompilation.
Es reicht aber nicht den DocumentData Parameter auf AnsiString umzustellen.

Hat jemand da schon mal gebastelt?

Grüße
wo


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz