Printing in black and white
Hi there,
I use Delphi 7 and FR 4.9.102
One of our customers has the following strange problem.
He uses Windows XP and a HP C1215 Color-Laserjet printer. Newest drivers and newest firmware.
He starts our Application and makes a preview with FR. From preview he prints. All okay.
But each following printout is black and white, no colors anymore. Only if before printing he starts the printer-setup dialog (no changes, only press "OK") he gets colours again.
He has no problems with any other applications.
In earlier Version with older FR (4.8.?) it worked fine.
Can You help me ????
Regards
Erik
I use Delphi 7 and FR 4.9.102
One of our customers has the following strange problem.
He uses Windows XP and a HP C1215 Color-Laserjet printer. Newest drivers and newest firmware.
He starts our Application and makes a preview with FR. From preview he prints. All okay.
But each following printout is black and white, no colors anymore. Only if before printing he starts the printer-setup dialog (no changes, only press "OK") he gets colours again.
He has no problems with any other applications.
In earlier Version with older FR (4.8.?) it worked fine.
Can You help me ????
Regards
Erik
Comments
Regards!
Try to reuse as many objects as you can (starting with the tfrxReport one).
In prior Versions all worked fine.
And I am not doing anything with the printing options.
I only tell Fastreport the printer on which to print.
And remember that happens only on this one specific printer (HP C1215 Color-Laserjet).
@mrzxc
What printer are you using, when this happens ?
Regards
Erik
But there are no new drivers for this printer.
And the support of HP is not so good.
But the other thing is that earlier Versions of FastReport did well, with this HP model.
Probably the guys of FastReport could investigate that.
Regards
Erik
frxPrinter.pas
.......
procedure TfrxPrinter.EndDoc;
var
Saved8087CW: Word;
begin
Saved8087CW := Default8087CW;
Set8087CW($133F);
try
Windows.EndDoc(FDC);
except
end;
Set8087CW(Saved8087CW);
FPrinting := False;
RecreateDC;
FBin := -1;
FDuplex := -1;
// FMode.dmFields := DM_DEFAULTSOURCE or DM_DUPLEX;//rem this line, It will working fine.
FMode.dmDefaultSource := FDefBin;
FMode.dmDuplex := FDefDuplex;
FDC := ResetDC(FDC, FMode^);
end;