Fórum Alternativa alterar unit original #346676
25/09/2007
0
Tem alternativa ao invés de mexer na unit original do Delphi, porque estas linhas pra funcionar tem que estar antes da linha StartPage(DC). Pensei em criar uma unit nova descendente de Printers só com BeginDoc, NewPage pra sobrepor os originais, mas não sei como fazer isto.
DevMode.dmDefaultSource:=FNumBand; // <-- muda bandeja impressão
Windows.ResetDC(DC,DevMode^); // <-- aplica alteração
procedure TPrinter.BeginDoc;
var
DocInfo: TDocInfo;
begin
CheckPrinting(False);
SetState(psHandleDC);
Canvas.Refresh;
TPrinterCanvas(Canvas).UpdateFont;
FPrinting := True;
FAborted := False;
FPageNumber := 1;
FillChar(DocInfo, SizeOf(DocInfo), 0);
with DocInfo do
begin
cbSize := SizeOf(DocInfo);
lpszDocName := PChar(Title);
end;
SetAbortProc(DC, AbortProc);
StartDoc(DC, DocInfo);
DevMode.dmDefaultSource:=FNumBand; // <-- muda bandeja impressão
Windows.ResetDC(DC,DevMode^); // <-- aplica alteração
StartPage(DC);
end;
procedure TPrinter.NewPage;
begin
CheckPrinting(True);
EndPage(DC);
DevMode.dmDefaultSource:=FNumBand; //<-- muda bandeja impressão
Windows.ResetDC(DC,DevMode^); //<-- aplica alteração
StartPage(DC);
Inc(FPageNumber);
Canvas.Refresh;
end;
Obrigado,
Edurocha
Curtir tópico
+ 0Posts
26/09/2007
Weber
Quando você compilar o Delphi vai assumir esta cópia da unit.
Gostei + 0
26/09/2007
Edurocha
O que mais poderia fazer ? Tem alguma forma de compilar o form que usa o componente novo utilizar a unit original do Delphi e o restante do meu projeto utilizar a unit alterada ?
Obrigado,
Gostei + 0
26/09/2007
Paulo Samurai
[]´s
Gostei + 0
26/09/2007
Edurocha
Gostei + 0
26/09/2007
Martins
E se você mudasse o nome da unit q vc copiou para a pasta do seu projeto, deixando a original do Delphi como era antes das modificações, não resolveria?
Gostei + 0
26/09/2007
Edurocha
Gostei + 0
27/09/2007
Martins
Teoricamente isso deveria resolver seu problema e o Delphi continuaria funcionando perfeitamente, qualquer problema, retorne e nos informe sobre o erro q tentaremos juntos encontrar uma solução.
Bons códigos!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)