Hallo,
ich hab eine NDRStream erstellt und möchte diesen nun an den Drucker schicken. Der Anwender kann die Anzahl der Kopien in einem edit eingeben, die ich dann über folgenden Code auswerten wollte:
Delphi-Quellcode:
procedure Drucken;
var
copies: integer;
prnOk: boolean;
begin
inherited;
prnOk:=false;
copies:=StrToInt(Trim(edtAnzahl.Text));
if RpDev.SelectPrinter('MyPrinter',false) then prnOk:=true
else if RPDev.PrinterSetupDialog then prnOk:=true;
if prnOk then begin
RvRenderPrinter.Copies:=copies;
RvRenderPrinter.Render(MyNDRStream);
end;
end;
RvRenderPrinter.MaxCopies ist 999
RvRenderPrinter.Copies entspricht auch meinem zugewiesenen Wert (>0), aber es gibt immer nur einen Ausdruck.
Funktionieren tut das ganze nur, wenn ich es in einer Scheife mehrmals ausführe.
Delphi-Quellcode:
procedure Drucken;
...
if prnOk then begin
for i:=1 to copies do
RvRenderPrinter.Render(MyNDRStream);
end;
...
end;
Nur dann sind es eben auch mehrere Druckjobs und zwischen dem 1. und dem 2. könnte sich ein anderer User dazwischen drängeln und das würde ich gerne vermeiden.
Wieso funktioniert der obige Quellcode nicht? Fehlt noch was? Hab auch schon RpDev.Copies den Wert zugewiesen, mit dem selben Ergebnis.
Danke und Gruß
Safti