printers, Sometimes setting PrinterIndex property do not select the right printer, issue #11463

git-svn-id: trunk@15485 -
This commit is contained in:
jesus 2008-06-20 16:45:02 +00:00
parent 15c5e3efa6
commit 6d7d8a64e8
3 changed files with 17 additions and 5 deletions

View File

@ -75,6 +75,12 @@ begin
FreeDC;
end;
procedure TWinPrinter.PrinterSelected;
begin
if PrinterIndex>=0 then
SetDC;
end;
function TWinPrinter.GetXDPI: Integer;
begin
Result:=72;
@ -659,10 +665,9 @@ begin
[SysErrorMessage(GetlastError)]);
end;
if UpdateDevMode(i) then begin
SetDC;
Result:=i;
end else
if UpdateDevMode(i) then
Result:=i
else
Result:=-1;
end;
end;

View File

@ -78,6 +78,7 @@ Type
function GetHandlePrinter : HDC;
procedure SetHandlePrinter(aValue : HDC);
procedure RawModeChanging; override;
procedure PrinterSelected; override;
public
constructor Create; override;
destructor Destroy; override;

View File

@ -182,6 +182,7 @@ type
function GetYDPI: Integer; virtual;
procedure CheckRawMode(const Value: boolean; Msg:string='');
procedure RawModeChanging; virtual;
procedure PrinterSelected; virtual;
public
constructor Create; virtual;
destructor Destroy; override;
@ -399,7 +400,8 @@ begin
fPrinterIndex:=i;
end;
end;
end
end;
PrinterSelected;
end;
function TPrinter.Write(const Buffer; Count:Integer; var Written: Integer): Boolean;
@ -455,6 +457,10 @@ begin
//
end;
procedure TPrinter.PrinterSelected;
begin
end;
//Get current copies number
function TPrinter.GetCopies: Integer;
Var i : Integer;