Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   RAVE und Netzwerkdrucker ansprechen (https://www.delphipraxis.net/109044-rave-und-netzwerkdrucker-ansprechen.html)

nachtstreuner 23. Feb 2008 11:45


RAVE und Netzwerkdrucker ansprechen
 
Hallo Delphianer,

ich habe mal wieder eine Frage.

Ich habe einen Rave-Report erstellt. Wenn ein lokaler Drucker installiert ist, kann ich diesen auch im Setup auswählen bzw. wenn ich keinen auswähle, wird der Windows Standarddrucker benutzt.

Nun möchte ich aber einen Drucker über seine IP-Adresse auswählen, der sich im Netzwerk befindet.
Er läßt sich von dem PC, auf dem mein Programm läuft, anpingen z.b. 10.57.65.7 .

Wie aber sage ich dem Ravereport, dass er genau diesen Drucker im Netzwerk ansprechen soll ?

Vielen Dank im voraus für alle kreativen Antworten.

Ich benutze Delphi7 Enterprise mit Rave Report Version 5.0 Build 020708

marabu 23. Feb 2008 13:43

Re: RAVE und Netzwerkdrucker ansprechen
 
Hallo,

sobald du den Netzwerkdrucker auf der Zielmaschine konfiguriert hast, solltest du ihn wie jeden anderen Drucker unter RvSystem.BaseReport.Printers finden und auswählen (SelectPrinter oder PrinterIndex) können.

Grüße vom marabu

nachtstreuner 23. Feb 2008 20:56

Re: RAVE und Netzwerkdrucker ansprechen
 
Hallo Marabu,

vielen Dank für deine Antwort.

Muss dieser Druckertreiber tatsächlich auf der Maschine installiert werden, auf dem
das Programm ausgeführt wird ?

Was ist wenn ich keinen Treiber hierfür habe? Gibt es keine andere Möglichkeit

Gruß Nachtstreuner

marabu 24. Feb 2008 09:29

Re: RAVE und Netzwerkdrucker ansprechen
 
Hallo Nachtstreuner,

Windows benötigt für jeden Drucker Informationen, mit denen es die internen GDI Operationen in die Sprache des konkreten Druckers übersetzen kann. Nur so kann der Drucker das output rendering erledigen. Diese Informationen stellt der Treiber zur Verfügung. Ob dieser Treiber von einem Printer Server, via driver shipping oder mit einem Setup-Programm installiert wird, ist eine Frage der aktuellen Umgebung. Hast du keinen Treiber für den Drucker, dann kannst du ihn auch nicht benutzen. Oft haben Drucker aber mehrere personalities und verstehen die Sprache eines anderen Druckers, für den du einen Treiber hast.

Ein Netzwerkdrucker unterscheidet sich von einem freigegebenen Drucker nur durch die Art, wie der PrintJob übermittelt wird - das Druckprotokoll: IPP statt SMB.

Versuche nicht dein Treiber-Problem in deiner Anwendung zu lösen. Die Bereitstellung des Druckers geschieht grundsätzlich auf der administrativen Ebene, nicht in deinem Projekt. Das ist ein Basiskonzept - nicht nur von Windows.

Freundliche Grüße

nachtstreuner 24. Feb 2008 09:37

Re: RAVE und Netzwerkdrucker ansprechen
 
Hallo Marabu,

habe verstanden. Werde also am Montag erstmal mit meinen Admins sprechen, die IP des Druckers ist bekannt,
der Ping auf diesen Drucker funktioniert, nur sehe ich den Drucker nicht bei den installierten Druckern.

In meinem Programm möchte ich den Drucker nur ansprechen können, aber nicht zum STandarddrucker machen, das geht doch bestimmt oder ?

Gruß nachtstreuner

marabu 24. Feb 2008 09:57

Re: RAVE und Netzwerkdrucker ansprechen
 
Klar doch.

Was du von deinen Admins brauchst, ist eine Setup-Routine, eine Anleitung zur Einbindung eines bereits vorhandenen Treibers, oder einen URL eines Printer Servers für eine "Web Point and Print" Installation.

nachtstreuner 24. Feb 2008 10:14

Re: RAVE und Netzwerkdrucker ansprechen
 
Danke Marabu,

gut, angenommen ich habe den entsprechenden Drucker auf der Maschine, auf der mein Programm ausgeführt wird installiert, und dieser
Drucker hat nun den Namen : U505, wie sag ichs dem Ravereport, dass er nun den Report und nur diesen Report zu diesem U505 schicken soll, und alle anderen Drucker so belässt wie sie in der Windows Systemsteuerung eingetragen sind.

Ich weiss dass ich die RPDevice in den Units einbinden muss, wie würde aber im Programmcode das Ansprechen des Druckers aussehen.

Ich habe mir überlegt, keine Setup-Routine durch das Programm darstellen zu lassen.

D.h. der Ausdruck erfolgt ohne Druckerauswahlmöglichkeit an U505.

Kann ich evtl. vorher einen Ping auf U505 schicken um zu prüfen ob dieser erreichbar ist ?

Danke

mit freundlichen Grüßen

Nachtstreuner

marabu 24. Feb 2008 14:06

Re: RAVE und Netzwerkdrucker ansprechen
 
Sobald der Drucker U505 in der Liste der installierten Drucker auftaucht, kannst du ihn einfach so auswählen:

Delphi-Quellcode:
procedure TPrintForm.RvSystemBeforePrint(Sender: TObject);
begin
  RvSystem.BaseReport.SelectPrinter('U505');
end;

nachtstreuner 24. Feb 2008 18:34

Re: RAVE und Netzwerkdrucker ansprechen
 
Vielen Dank, Marabu

und einen schönen Sonntag noch

Gruß Nachtstreuner


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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