Einzelnen Beitrag anzeigen

Benutzerbild von Kurt56
Kurt56

Registriert seit: 6. Apr 2005
Ort: Wedemark
47 Beiträge
 
Delphi XE8 Professional
 
#1

RAVE 7.7 Printer einstellen

  Alt 26. Mai 2010, 17:51
Kann es sein, daß in RAVE ein Fehler ist, oder bin ich einfach nur zu dumm?????

In Printer.printers; sind doch die dem System bekannten Drucker (auch Netzwerkdrucker) verzeichnet.

In der Dokumentation steht, daß es eine Funktion geben soll, die den Drucker setzen kann.

"Diese Methode setzt den aktuellen Drucker auf den ersten drucker in Printer.printers, der den angegebenen Substring in seinem Namen hat.
"ExactMatch" bestimmt weiterhin, ob eine genaue Übereinstimmung des Substrings mit dem Druckernamen vorliegen muß, oder nicht.
Wenn kein Drucker mit dem Namen (oder Namensteil) gefunden wurde, so wird der aktuelle Drucker nichte geändert und "false" zurück gegeben." (Von mir frei übersetzt, ich hoffe aber, dem Sinn gemäß richtig.)


function SelectPrinter(SubStr: string; ExactMatch: Boolean): Boolean;

--- demnach müßte folgender Code laufen: ----

Delphi-Quellcode:
RVProject1.Open;
if RvSystem1.BaseReport.SelectPrinter('\\Server1\HPLaser') then //<-- Ist der Netzwerkdrucker "\\Server1\HPLaser da?
   begin
   RvSystem1.DefaultDest:=rdPrinter; //wenn ja, sofort auf diesen Drucker drucken
   RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup];
   end
else
   begin
   RvSystem1.DefaultDest:=rdPreview; // wenn nein, Auswahl und Preview anzeigen
   RvSystem1.SystemSetups := RvSystem1.SystemSetups + [ssAllowSetup];
   end;
If RvProject1.Active then
   begin
   RvProject1.ExecuteReport('Buchungen');
   RVProject1.Close;
   end;
Delphi compiliert das auch ohne Meldung, aber zur Laufzeit bekomme ich eine Fehlermeldung:

EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 005b3358 in Modul 'Projekt1.Exe'.
Lesen von Adresse 00000025D' aufgetreten

Was zum Kuckuk mache ich falsch????
Kann mir jemand einen Rat geben?
Kurt
  Mit Zitat antworten Zitat