![]() |
Leere Seite bei Ausdruck auf Brother MFC 7440n über TPrinter
Hi,
ich habe meine eigene Druckroutine erstellt und es klappt auch wunderbar. Nur ein Kunde der den Brother MFC 7440n (mit dem neuesten Treiber) verwendet, bekommt nur eine leere Seite. Ich habe eine Testprojekt erstellt - ohne Erfolg:
Delphi-Quellcode:
An der Positionierung liegt es nicht, das haben wir geprüft.
// Printer.PrinterIndex := printer.Printers.IndexOf( cbPrinter.text ) ; // alte Variante
Printer.SetPrinter(PChar(cbPrinter.text),PChar('WINSPOOL'),PChar(''),0); // neue Variante Printer.BeginDoc ; try Printer.Canvas.TextOut( 10 * mm, 10 * mm, 'Drucker: ' ) ; Printer.Canvas.TextOut( 30 * mm, 10 * mm, 'TESTAUSDRUCK' ) ; finally Printer.EndDoc End ; Hat jemand eine Idee wie ich mich dem Problem nähern könnte? Gruß Ralf |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hi,
ich habe ein ähnlichen Problem, wenn ein Citrix-Client läuft. Ich konnte das nicht näher eingrenzen und hatte immer die Vermutung, dass es auch mit dem älteren Drucker zusammenhängen kann. Manchmal druckt zumindest eine Formular-Hardcopy nur ein leeres Blatt. Besonders häufig tritt das Problem auf, wenn eine Citrix-Verbindung besteht. Stahli |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hi stahli,
die Umgebung ist hier eher simpel. Der Drucker läuft in einem Windows-Netz mit eigenem Printserver. Auch ist der Drucker ja noch nicht so alt. Gruß Ralf |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo,
probier mal folgendes
Delphi-Quellcode:
Hintergrund:
uses System;
var wSaved8087CW: Word; begin wSaved8087CW:= Default8087CW; try Set8087CW(Default8087CW or $3f); DoPrint; // durch eigenen Code ersetzen ;) finally Default8087CW:= wSaved8087CW; end; end; Manche Treiber erzeugen Fließkomma-Fehler. Schaltet man vorher die Fehlerprüfung ab, geht es. Das kommt meistens bei Netzwerk-Druckern vor. Heiko |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo Heiko,
das ist ja mal ne Lösung - wie kommt man denn auf so was. Dank dir erstmal. Werde es umgehend probieren. Gruß Ralf |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo... :hi:
Zitat:
:hi: |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo,
Ralf tja ... Ich habe mühsam den Kunden-Drucker-Treiber (HP ...) bei mir eingerichtet (frag nicht wie, war schon finster ... ;) ), habe den auf meinen Drucker umgebogen und dann gedruckt. Dann kam der Fließkommafehler. Irgendwo im Netz stand dann was mit diesem Fehler und die Lösung (ich glaube, das war auf einer Support für Quickreport oder Fastrecport). Und voila, Fehler war weg ;) *auf Lob wart* Heiko |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo,
vielen Dank für die Tipps. Das war es aber alles noch nicht. Wir haben mittlerweile bei einen zweiten Kunden den Ausdruck auf genau dem selben Modell probieren können. Es kommt nur eine leere Seite. Hat noch jemand eine Idee? Gruß Ralf |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hast Du es mal mit einem anderen Drucker oder einem PDF-Treiber probiert?
Vielleicht lässt sich das Problem damit etwas besser eingrenzen... Bei meinem Problem, das sporatisch auftritt, kann es offenbar helfen, mein Programm einmal neu zu starten. |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Die make kenn ich hast due irgendwas mit MM_Lometric oder so gemacht
|
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo Frank,
nein habe ich nicht. Hier nachfolgend mal der wirklich simple Test-Code der schon nicht funktioniert. (bzw. nur auf dem Modell nicht.) Ich habe auch den Aufruf auch schon in die Prozedur zum Ausschalten der Fließkommaberechnung (siehe oben) gesetzt - ohne Erfolg.
Delphi-Quellcode:
Gruß Ralf
Uses
Printers; procedure TForm2.cbPrinterChange(Sender: TObject); // Ereignis wenn die Druckerauswahl geändert wird. Begin // Die Druckerauswahl ist nur nötig, wenn nicht der Standarddrucker verwendet wird. // Printer.PrinterIndex := printer.Printers.IndexOf( cbPrinter.text ) ; // alte Variante Printer.SetPrinter(PChar(cbPrinter.text),PChar('WINSPOOL'),PChar(''),0); // neue Variante end; procedure TForm2.DruckeKreuze; var x1,y1,x2,y2 : Integer ; mm : Integer ; begin PrinterDPI := GetDeviceCaps(Printer.Handle, LOGPIXELSx) ; SeitenBreite := Printer.PageWidth ; Seitenhoehe := Printer.PageHeight ; mm := round ( PrinterDPI / 25.4 ) ; Printer.BeginDoc ; try Printer.Canvas.TextOut( 10 * mm, 10 * mm, 'Drucker: ' ) ; Printer.Canvas.TextOut( 30 * mm, 10 * mm, cbPrinter.text ) ; Printer.Canvas.TextOut( 10 * mm, 15 * mm, 'DPI: ' ) ; Printer.Canvas.TextOut( 30 * mm, 15 * mm, IntToStr( PrinterDPI ) ) ; Printer.Canvas.TextOut( 10 * mm, 20 * mm, 'Seitenbreite: ' ) ; Printer.Canvas.TextOut( 30 * mm, 20 * mm, IntToStr( Seitenbreite ) ) ; Printer.Canvas.TextOut( 10 * mm, 25 * mm, 'Seitenhöhe: '); Printer.Canvas.TextOut( 30 * mm, 25 * mm, IntToStr( Seitenhoehe ) ) ; x1 := ( SeitenBreite div 2 ) - ( 2 * PrinterDPI ) ; x2 := ( SeitenBreite div 2 ) + ( 2 * PrinterDPI ) ; y1 := ( SeitenHoehe div 2 ) - ( 2 * PrinterDPI ) ; y2 := ( SeitenHoehe div 2 ) + ( 2 * PrinterDPI ) ; Printer.canvas.moveto( x1, SeitenHoehe Div 2 ) ; Printer.canvas.LineTo( x2, SeitenHoehe Div 2 ) ; Printer.canvas.moveto( SeitenBreite Div 2, y1 ) ; Printer.canvas.LineTo( SeitenBreite Div 2, y2 ) ; finally Printer.EndDoc ; end; end; |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hast du mal geguckt was in PrinterDPI für ein Wert drin ist
|
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Hallo,
probier mal, den Drucker lokal zu benutzen. Heiko |
Re: Leere Seite bei Ausdruck auf Brother MFC 7440n über TPri
Ich hatte exakt das gleiche Problem - neuen, aktuellen Druckertreiber installiert und alles funktionierte.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz