Fórum Delphi + UNIGUI + Arquivo externo #498539
21/10/2014
0
Estou migrando uma aplicação para Web. Utilizo o Delphi 2010 + Firebird + UNIGUI, e me deparei com a seguinte situação.
Gero um relatório em excel. No http://localhost:8077 o arquivo me é gerado localmente, e tudo certo, mas ao passar pro servidor, e tentar acessar de qualquer maquina, quando pede para ser gerado o relatório, ele gera la dentro do servidor, e não localmente para a pessoa...
O autoCoInitialize, está habilitado.
O que posso fazer ???
Brunno Sena
Curtir tópico
+ 0Post mais votado
07/11/2014
Eu gero os relatórios em PDF através do report builder, conforme abaixo:
procedure TUniForm960.GeraArquivo;
var
vArqTemp : String;
begin
vArqTemp := 'report_' + IntToStr(DM.vNumUsuario) + '_' + FormatDateTime('ddmmyy_hhmmss', Now) + '.pdf';
try
if FileExists(UniServerModule.LocalCachePath + vArqTemp) then
DeleteFile(UniServerModule.LocalCachePath + vArqTemp);
except
end;
ppReport1.PrinterSetup.MarginTop := DM.vMargemSup;
ppReport1.PrinterSetup.DocumentName := Self.Caption;
ppReport1.AllowPrintToFile := True;
ppReport1.ShowPrintDialog := False;
ppReport1.DeviceType := dtPDF;
ppReport1.TextFileName := UniServerModule.LocalCachePath + vArqTemp;
ppReport1.Print;
DM.vPDF := UniServerModule.LocalCacheURL + '/' + vArqTemp;
end;
Depois utilizo um form com o componente uniFrame para visualizar o arquivo gerado:
UniURLFrame1.URL := DM.vPDF;
(DM.vPDF é uma variável pública que está no meu mainModule ( que é o data module do unigui)
Nirlan Fundao
Gostei + 3
Mais Posts
12/11/2014
Brunno Sena
Eu gero os relatórios em PDF através do report builder, conforme abaixo:
procedure TUniForm960.GeraArquivo;
var
vArqTemp : String;
begin
vArqTemp := 'report_' + IntToStr(DM.vNumUsuario) + '_' + FormatDateTime('ddmmyy_hhmmss', Now) + '.pdf';
try
if FileExists(UniServerModule.LocalCachePath + vArqTemp) then
DeleteFile(UniServerModule.LocalCachePath + vArqTemp);
except
end;
ppReport1.PrinterSetup.MarginTop := DM.vMargemSup;
ppReport1.PrinterSetup.DocumentName := Self.Caption;
ppReport1.AllowPrintToFile := True;
ppReport1.ShowPrintDialog := False;
ppReport1.DeviceType := dtPDF;
ppReport1.TextFileName := UniServerModule.LocalCachePath + vArqTemp;
ppReport1.Print;
DM.vPDF := UniServerModule.LocalCacheURL + '/' + vArqTemp;
end;
Depois utilizo um form com o componente uniFrame para visualizar o arquivo gerado:
UniURLFrame1.URL := DM.vPDF;
(DM.vPDF é uma variável pública que está no meu mainModule ( que é o data module do unigui)
Nirlan e Fundao
Obrigado amigo...
Fiz os testes, passando pro Excel... mas ocorreu que acredito que ele não abra o excel dentro do Frame, como posso fazer ???
Gostei + 0
30/01/2015
Nirlan Fundao
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)