Uso D6, QReport 4 Prof. y eDocEngine
Tengo una aplicación que envia Correos Electrónicos Adjuntando un archivo JPG, este archivo se genera apartir de una Exportación que se hace de un archivo .QRP del QrPreview al Componente gtQRExportInterface de los eDocengine, hasta aqui todo bien, les presento el código:
Código Delphi
[-]
Procedure FormCreate(Sender: TObject);
....
try
NPages:=0;
if FileExists('c:\tmp\PresupPag.qrp') then
if not DeleteFile ('c:\tmp\PresupPag.qrp') then begin
MensajesW('Archivo Bloqueado "PresupPag.qrp", No se Puede Crear, Cierre el Programa y Vuelva a Intentar el Envio del Correo.','Atención',48);
abort;
end;
qrRepPresup2.Prepare;
NPages:=qrRepPresup2.QRPrinter.PageCount;
qrRepPresup2.Printer.Save('c:\tmp\PresupPag.qrp');
gtJPEGEngine.PagesToRender:='';
gtQRExportInterface.Engine := gtJPEGEngine;
IgtDocumentEngine(gtQRExportInterface.Engine).FileName := 'c:\tmp\PresupPag.qrp';
gtQRExportInterface.RenderDocument('c:\tmp\PresupPag.qrp');
except
on E:Exception do begin
MensajesW(PChar(E.Message+', No es posible Crear PresupPag.QRP, Reporte Error.'),'Error',MB_ICONERROR);
end;
end;
try
FQRPrinter := TQRPrinter.Create(Self);
FQRPrinter.Load('c:\tmp\PresupPag.qrp');
QRPreview.QRPrinter := FQRPrinter;
QRPreview.Show;
except
on E:Exception do begin
MensajesW(PChar(E.Message+', No es posible Abrir Archivo PresupPag.QRP, Reporte Error.'),'Error',MB_ICONERROR);
end;
end;
for x := 1 to NPages do begin
TIdAttachment.Create(IdMsgSend.MessageParts, 'c:\tmp\PresupPag'+IntToStr(x)+'.jpg');
ResetAttachmentListView;
end;
Al Cerrar el formulario borro el archivo .QRP
Código Delphi
[-]
....
FQRPrinter.Free;
qrRepPresup2 :=Nil ;
if FileExists('c:\tmp\PresupPag.qrp') then
if not DeleteFile ('c:\tmp\PresupPag.qrp') then begin
MensajesW('Archivo Bloqueado "PresupPag.qrp", No se Puede Borrar.','Atención',48);
abort;
end;
El problema que tengo es que si cierro y abro el formulario como 20 veces en la 20 ó en la 21 me marca el siguiente error:
Access violation at address 7C928FEA in module 'ntdll.dll'. Write of address 00000010
Este error me lo marca al Crear el archivo .QRP ó al Abrirlo
Agradezco cualquier sugerencia.
ulario