Re: [delphi-br] [ Problema Memoria com Quickreport]

2009-09-22 Por tôpico José Mário Silva Guedes
Para localizar esvaziamento de memoória, uso o seguinte:

  ReportMemoryLeaksOnShutdown := (DebugHook  0);
Isso funciona no Delphi 2007.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [ Problema Memoria com Quickreport]

2009-09-22 Por tôpico fabio giro
Este erro já tinha sido reportado a muitos anos atrás e veja a solução que 
foi dada:
 
Qdo mando imprimir várias guias (empresas diferentes) a primeira 
imprime correto, depois comeca a imprimir faltando logotipo.
solucao (não testado)
ja vi gente resolvendo problema parecido com um sleep({pode ser 500}).

Espero ter ajudado.

--- Em ter, 22/9/09, Marcio mar...@sulfabril.com.br escreveu:


De: Marcio mar...@sulfabril.com.br
Assunto: [delphi-br] [ Problema Memoria com Quickreport]
Para: delphi-br@yahoogrupos.com.br
Data: Terça-feira, 22 de Setembro de 2009, 9:29


  




Ola pessoal, desenvolvi um relatorio (Nota Fiscal) com uma imagem no plano 
de fundo.

estou usando um TQRimagem para o logotipo no canto superior e a rotina abaixo
para gerar marca dagua no centro da pagina ..

tenho percebido que qndo imprimo as notas esta a memoria usada esta ficando 
alto
e depois um tempo , hora imprime as images hora nao.

sera algum problema de esvaziamento de memoria ?/

alguem tem alguma ideia ...

Att. Marcio.

procedure TfrmDANFE.QRRodapeA fterPrint( Sender: TQRCustomBand; BandPrinted: 
Boolean);
var
xx : integer;
BitMap : TBitMap; {marca dagua}
R : TRect; {marca dagua}
X, Y : integer; {marca dagua}
begin
xx := 0;

///
//rotina para imprimir marca dagua no QuickReport
//incluir no PageFooterBand1Afte rPrint

BitMap := TBitMap.Create;
try
if not FileExists(PastaLog otipo + 'sulfabril_logo. bmp') then
begin
messagebox(handle, 'O arquivo de imagem n?existe ou foi 
removido !','Aten?',MB_ OK or MB_ICONWARNING) ;
SetActiveWindow( Application. Handle);
end
else
begin
BitMap.LoadFromFile ( PastaLogotipo +'sulfabril_ logo.bmp' );
with QuickRep2.QRPrinter do
begin
//Y := YPos(PaperLengthVal ue) div 6;
Y := YPos(PaperLengthVal ue) div 4;
X := XPos(PaperWidthValu e) div 4;
R := Rect(X, 2 * Y, 3 * X, 4 * Y);
ImprimeBitMap( Canvas, BitMap, R);
end;
end;
finally
BitMap.Free;
end;
 / / / / //
end;

procedure TfrmDANFE.ImprimeBi tMap(Cnv: TCanvas; BitMap: TBitMap; R: TRect);
var
Info : PBitMapInfo;
InfoSize : DWORD;
Image : Pointer;
ImageSize : DWORD;
begin
with BitMap do
begin
GetDIBSizes( Handle, InfoSize, ImageSize);
GetMem(Info, InfoSize);
try
Getmem(Image, ImageSize);
try
GetDIB(Handle, Palette, Info^,Image^ );
with Info^.bmiHeader do
StretchDIBits( Cnv.Handle, R.Left, R.Top, R.Right - 
R.Left,R.Bottom - R.Top,
0, 0, biWidth, biHeight, Image, Info^, DIB_RGB_COLORS, SRCAND);
finally
FreeMem(Image, ImageSize);
end;
finally
FreeMem(Info, InfoSize);
end;
end;
end;

















  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] [ Problema Memoria com Quickreport]

2009-09-22 Por tôpico Marcio
Fabio, tu diz que eu tenho que usar
sleep({pode ser 500}).

dar um tempo em cada impressao ???

att. Marcio.




Re: [delphi-br] [ Problema Memoria com Quickreport]

2009-09-22 Por tôpico fabio giro
Isso. Este problema e esta solução não são meus. Esta dica foi posta aqui na 
lista. Experimente colocar antes de imprimir a banda que contem o logotipo.

--- Em ter, 22/9/09, Marcio mar...@sulfabril.com.br escreveu:


De: Marcio mar...@sulfabril.com.br
Assunto: Re: [delphi-br] [ Problema Memoria com Quickreport]
Para: delphi-br@yahoogrupos.com.br
Data: Terça-feira, 22 de Setembro de 2009, 11:36


  



Fabio, tu diz que eu tenho que usar
sleep({pode ser 500}).

dar um tempo em cada impressao ???

att. Marcio.

















  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]