Vielen Dank, rawi
Ich habe es jetzt so gelöst:
Delphi-Quellcode:
procedure TForm1.DruckButtonClick(Sender: TObject);
var i : integer;
DruckerGefunden : boolean;
begin
listbox1.Clear;
DruckerGefunden:=false;
listbox1.Items := Printer.printers;
for i := 0 to listbox1.Count - 1 do
if listbox1.Items[i] = '\\Server1\HPLaser' then
begin
DruckerGefunden:=true;
end;
RVProject1.Open;
if DruckerGefunden 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;
end;
procedure TForm1.RvSystem1BeforePrint(Sender: TObject);
begin
if not RvSystem1.BaseReport.SelectPrinter('\\Server1\HPLaser') then
showmessage('Achtung: Fehler bei der Druckerzuweisung');
end;
So funktioniert es.
Danke nochmals, darauf wäre ich nie gekommen.
Gruß Kurt