Fórum Mostrar um aviso se o arquvo ja estiver em uso? #359054
26/05/2008
0
Explicando: Tenho um codigo que gera um PDF, ai carrego o arquivo no Adobe. Bom até ai blz, mais vamos supor que eu tente abrir o mesmo arquivo outra vez gerando o codigo no Adobe se este ter sido fechado, me mostra o erro de ´Access violatiom at address ....´
Então o que eu preciso é saber se tem como eu colocar um aviso no meu sistema que aquele PDF ja esta em uso.
O código é este
{:Gera o arquivo PDF para ser anexado}
n_Pedido := qr_PedidoSelecionadonum_pedido.AsString;
wNomarq := ´PD´+FormatDateTime(n_pedido+´.yymmdd´, now);
ppReport1.DeviceType := ´PDFFile´;
ppReport1.SaveAsTemplate := True;
ppReport1.SavePrinterSetup := True;
ppReport1.TextFileName := ´c:\pedidos\´+wNomarq+´.PDF´; //Joga o pdf criado para a pasta aonde esta o programa lá no cliente.
{:Mostrar o aviso aqui antes de executar o PrintReport}
ppReport1.PrintReport;Adriano_servitec
Curtir tópico
+ 0Posts
28/05/2008
Marcosrocha
Gostei + 0
29/05/2008
Adriano_servitec
Obrigado amigo, mais não consegui
Olhe
try
ppReport1.TextFileName := ´c:\pedidos\´+wNomarq+´.PDF´; //Joga o pdf criado para a pasta aonde esta o programa lá no cliente.
ppReport1.PrintReport;
except
{Todo -cModulo EnviaPed -oAdriano:Não funcionou, queria mostrar uma mensagem se o arquivo ja estivesse em uso no adobe}
if FileOpen(Caminho+wNomarq+´.PDF´,fmOpenReadWrite) > 0 then
else
raise Exception.Create(´Arquivo está aberto. Feche o Adobe para gravar o pedido´);
Abort;
end;Gostei + 0
29/05/2008
Marcosrocha
try
ppReport1.TextFileName := ´c:\pedidos\´+wNomarq+´.PDF´; //Joga o pdf criado para a pasta aonde esta o programa lá no cliente.
ppReport1.PrintReport;
except
{Todo -cModulo EnviaPed -oAdriano:Não funcionou, queria mostrar uma mensagem se o arquivo ja estivesse em uso no adobe}
on E: Exception do
begin
if Pos(´CANNOT OPEN FILE´, E.Message) > 0 then
raise Exception.Create(´Arquivo está aberto. Feche o Adobe para gravar o pedido´)
else
raise E;
end;
end;Gostei + 0
29/05/2008
Adriano_servitec
try
ppReport1.TextFileName := ´c:\pedidos\´+wNomarq+´.PDF´; //Joga o pdf criado para a pasta aonde esta o programa lá no cliente.
ppReport1.PrintReport;
except
{Todo -cModulo EnviaPed -oAdriano:Não funcionou, queria mostrar uma mensagem se o arquivo ja estivesse em uso no adobe}
on E: Exception do
begin
if Pos(´CANNOT OPEN FILE´, E.Message) > 0 then
raise Exception.Create(´Arquivo está aberto. Feche o Adobe para gravar o pedido´)
else
raise E;
end;
end;Gostei + 0
29/05/2008
Marcosrocha
Gostei + 0
29/05/2008
Adriano_servitec
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)