AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Drucken im Netzwerk
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken im Netzwerk

Ein Thema von _HAWK_ · begonnen am 13. Dez 2004 · letzter Beitrag vom 11. Jun 2008
Antwort Antwort
Benutzerbild von Skasch
Skasch

Registriert seit: 14. Nov 2005
4 Beiträge
 
#1

Re: Drucken im Netzwerk

  Alt 11. Jun 2008, 10:47
Hi,

besser spät als nie....

Beispiel wie man druckt:
Delphi-Quellcode:
unit uFunctions;

interface

uses
  printers,

procedure PrintSomething(const aPrinterName:string);

implementation

procedure PrintSomething(const aPrinterName:string);
var
  idx: integer;
begin
  idx := Printers.Printer.Printers.IndexOf(aPrinterName);
  if (idx = -1) then
  begin
    // Der Printername existiert nicht!
    MessageBox(0, PChar(
       'Printername ' + aPrinterName + ' exisitiert nicht!'#13#10 +
       'Diese Printernamen sind möglich:'#13#10 +
       Printers.Printer.Printers.Text), 'Fehler!', 0);
    exit;
  end;
  Printers.Printer.PrinterIndex := idx;
  // Printer session öffnen
  Printers.Printer.BeginDoc();
  // Seite 1
  Printers.Printer.Canvas.TextOut(50, 50, 'Seite1');
  // Seite 2
  Printers.Printer.NewPage();
  Printers.Printer.Canvas.TextOut(50, 50, 'Seite2');
  // Seite 3
  Printers.Printer.NewPage();
  Printers.Printer.Canvas.TextOut(50, 50, 'Seite3');
  // Printer session schliessen
  Printers.Printer.EndDoc();
end;

end.
Das geht auch problemlos mit Netzwerkdrukkern die einen eigenen Printserver integeriert haben.

Wichtig ist hierbei Printers.Printer.PrinterIndex := idx;, da die Printers unit einen Fehler enthält und mit *.EndDoc() den DC des Druckers nicht freigiebt. Das führt mit Netzwerkdruckern regelmässig zu Problemen (speziell HP).
Wird jedoch Printers.Printer.PrinterIndex := idx; oder auch einfach Printers.Printer.PrinterIndex := Printers.Printer.PrinterIndex; vor *.BeginDoc(); ausgeführt ist das DC Handle freigegeben und alles geht ohne Probleme.

Hoffe das hilft euch weiter.

Gruss

O.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:08 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