Ir para conteúdo
Fórum Script Brasil

RafaelemeNt

Membros
  • Total de itens

    43
  • Registro em

  • Última visita

Sobre RafaelemeNt

  • Data de Nascimento 18/05/1986

Contatos

  • MSN
    engenharia.fael@gmail.com

Perfil

  • Gender
    Male
  • Location
    Araçatuba - SP

RafaelemeNt's Achievements

0

Reputação

  1. Jhonas, obrigado pela atenção. Final de semana que vem, farei vários testes sobre isso. Espero que consigo resolver o problema. Domingo que vem, no mais tardar segunda-feira eu posto os resultados aqui. Obrigado.
  2. Olá Jhonas, obrigado pelo interesse. Estou usando apenas figuras JPEG no sistema. Todas redimensionadas para aproximadamente 800x600px com tamanho médio de 70 KB. Eis o código da Unit que faz a gravação no banco de dados e copia as figuras: unit untFrmCarregarImagem; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtDlgs, StdCtrls, Buttons, ExtCtrls; type TfrmCarregarImagens = class(TForm) GroupBox4: TGroupBox; Label35: TLabel; GroupBox5: TGroupBox; Label30: TLabel; Panel2: TPanel; imgChassi: TImage; btnCarregaChassi: TBitBtn; btnLimpaChassi: TBitBtn; cbChassi: TComboBox; GroupBox6: TGroupBox; Label31: TLabel; Panel4: TPanel; imgMotor: TImage; btnCarregaMotor: TBitBtn; btnLimpaMotor: TBitBtn; cbMotor: TComboBox; GroupBox7: TGroupBox; Label32: TLabel; Panel5: TPanel; imgPlaca: TImage; btnCarregaPlaca: TBitBtn; btnLimpaPlaca: TBitBtn; cbPlaca: TComboBox; GroupBox8: TGroupBox; Panel6: TPanel; imgExtra: TImage; btnCarregaExtra: TBitBtn; btnLimpaExtra: TBitBtn; edtCaminho: TEdit; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Panel1: TPanel; imgExtra2: TImage; btnCarregaExtra2: TBitBtn; btnLimpaExtra2: TBitBtn; cbExtra2: TComboBox; edtExtra2: TEdit; GroupBox2: TGroupBox; Label3: TLabel; Label4: TLabel; Panel3: TPanel; imgExtra3: TImage; btnCarregaExtra3: TBitBtn; btnLimpaExtra3: TBitBtn; cbExtra3: TComboBox; edtExtra3: TEdit; btnConfirmar: TBitBtn; btnLimpar: TBitBtn; btnIncluir: TBitBtn; OpenPictureDialogChassi: TOpenPictureDialog; OpenPictureDialogMotor: TOpenPictureDialog; OpenPictureDialogPlaca: TOpenPictureDialog; OpenPictureDialogExtra: TOpenPictureDialog; OpenPictureDialogExtra2: TOpenPictureDialog; OpenPictureDialogExtra3: TOpenPictureDialog; procedure Gravar; procedure btnCarregaChassiClick(Sender: TObject); procedure btnLimpaChassiClick(Sender: TObject); procedure btnCarregaMotorClick(Sender: TObject); procedure btnLimpaMotorClick(Sender: TObject); procedure btnCarregaPlacaClick(Sender: TObject); procedure btnLimpaPlacaClick(Sender: TObject); procedure btnCarregaExtraClick(Sender: TObject); procedure btnLimpaExtraClick(Sender: TObject); procedure btnCarregaExtra2Click(Sender: TObject); procedure btnLimpaExtra2Click(Sender: TObject); procedure btnCarregaExtra3Click(Sender: TObject); procedure btnLimpaExtra3Click(Sender: TObject); procedure btnIncluirClick(Sender: TObject); procedure btnConfirmarClick(Sender: TObject); procedure btnLimparClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var frmCarregarImagens: TfrmCarregarImagens; implementation uses untDmModelo, untFrmGerarLaudo, untFrmRelatorio; {$R *.dfm} procedure TfrmCarregarImagens.Gravar; begin dmModelo.cdsGerarLaudos.FieldByName('NOME').AsString := frmGerarLaudo.edtNome.Text; if frmGerarLaudo.rbCpf.Checked = True then dmModelo.cdsGerarLaudos.FieldByName('CPFCNPJ').AsString := frmGerarLaudo.mEdtCpf.Text; if frmGerarLaudo.rbCnpj.Checked = True then dmModelo.cdsGerarLaudos.FieldByName('CPFCNPJ').AsString := frmGerarLaudo.mEdtCnpj.Text; dmModelo.cdsGerarLaudos.FieldByName('PLACA').AsString := frmGerarLaudo.mEdtPlaca.Text; dmModelo.cdsGerarLaudos.FieldByName('MARCA').AsString := frmGerarLaudo.edtMarca.Text; dmModelo.cdsGerarLaudos.FieldByName('ANOFABRICACAO').AsString := frmGerarLaudo.edtAnoFabricacao.Text; dmModelo.cdsGerarLaudos.FieldByName('COR').AsString := frmGerarLaudo.edtCor.Text; dmModelo.cdsGerarLaudos.FieldByName('RENAVAM').AsString := frmGerarLaudo.edtRenavam.Text; dmModelo.cdsGerarLaudos.FieldByName('MODELO').AsString := frmGerarLaudo.edtModelo.Text; dmModelo.cdsGerarLaudos.FieldByName('ANOMODELO').AsString := frmGerarLaudo.edtAnoModelo.Text; dmModelo.cdsGerarLaudos.FieldByName('COMBUSTIVEL').AsString := frmGerarLaudo.edtCombustivel.Text; dmModelo.cdsGerarLaudos.FieldByName('CHASSI').AsString := frmGerarLaudo.edtChassi.Text; dmModelo.cdsGerarLaudos.FieldByName('MOTOR').AsString := frmGerarLaudo.edtMotor.Text; dmModelo.cdsGerarLaudos.FieldByName('CAMBIO').AsString := frmGerarLaudo.edtCambio.Text; dmModelo.cdsGerarLaudos.FieldByName('DIFERENCIAL').AsString := frmGerarLaudo.edtDiferencial.Text; dmModelo.cdsGerarLaudos.FieldByName('CAIXADEDIRECAO').AsString := frmGerarLaudo.edtCaixaDeDirecao.Text; dmModelo.cdsGerarLaudos.FieldByName('BOMBAINJETORA').AsString := frmGerarLaudo.edtBombaInjetora.Text; dmModelo.cdsGerarLaudos.FieldByName('EIXO1').AsString := frmGerarLaudo.edt1Eixo.Text; dmModelo.cdsGerarLaudos.FieldByName('EIXO2').AsString := frmGerarLaudo.edt2Eixo.Text; dmModelo.cdsGerarLaudos.FieldByName('EIXO3').AsString := frmGerarLaudo.edt3Eixo.Text; dmModelo.cdsGerarLaudos.FieldByName('PLAQUETA').AsString := frmGerarLaudo.edtPlaqueta.Text; dmModelo.cdsGerarLaudos.FieldByName('CARROCERIA').AsString := frmGerarLaudo.edtCarroceria.Text; dmModelo.cdsGerarLaudos.FieldByName('LOTACAO').AsString := frmGerarLaudo.edtLotacao.Text; dmModelo.cdsGerarLaudos.FieldByName('TONELAGEM').AsString := frmGerarLaudo.edtTonelagem.Text; dmModelo.cdsGerarLaudos.FieldByName('ALIENACAO').AsString := frmGerarLaudo.edtAlienacao.Text; dmModelo.cdsGerarLaudos.FieldByName('ARRENDAMENTO').AsString := frmGerarLaudo.edtArrendamento.Text; dmModelo.cdsGerarLaudos.FieldByName('TRIBUTARIA').AsString := frmGerarLaudo.edtTributaria.Text; dmModelo.cdsGerarLaudos.FieldByName('ADMINISTRATIVA').AsString := frmGerarLaudo.edtAdministrativa.Text; dmModelo.cdsGerarLaudos.FieldByName('RESERVADOMINIO').AsString := frmGerarLaudo.edtReservaDominio.Text; dmModelo.cdsGerarLaudos.FieldByName('DEFINEEXTRA').AsString := 'Hodômetro'; dmModelo.cdsGerarLaudos.FieldByName('DEFINEEXTRA2').AsString := edtExtra2.Text; dmModelo.cdsGerarLaudos.FieldByName('DEFINEEXTRA3').AsString := edtExtra3.Text; dmModelo.cdsGerarLaudos.FieldByName('PATHCHASSI').AsString := caminho_chassi; dmModelo.cdsGerarLaudos.FieldByName('PATHMOTOR').AsString := caminho_motor; dmModelo.cdsGerarLaudos.FieldByName('PATHPLACA').AsString := caminho_placa; If not (OpenPictureDialogExtra.FileName = '') then dmModelo.cdsGerarLaudos.FieldByName('PATHEXTRA').AsString := caminho_extra; If not (OpenPictureDialogExtra2.FileName = '') then dmModelo.cdsGerarLaudos.FieldByName('PATHEXTRA2').AsString := caminho_extra2; If not (OpenPictureDialogExtra3.FileName = '') then dmModelo.cdsGerarLaudos.FieldByName('PATHEXTRA3').AsString := caminho_extra3; dmModelo.cdsGerarLaudos.FieldByName('OBSERVACAO').AsString := frmGerarLaudo.memoObservacao.Text; dmModelo.cdsGerarLaudos.FieldByName('CHASSICONFBIN').AsString := cbChassi.Text; dmModelo.cdsGerarLaudos.FieldByName('MOTORCONFBIN').AsString := cbMotor.Text; dmModelo.cdsGerarLaudos.FieldByName('PLACACONFBIN').AsString := cbPlaca.Text; dmModelo.cdsGerarLaudos.FieldByName('EXTRA2CONFBIN').AsString := cbExtra2.Text; dmModelo.cdsGerarLaudos.FieldByName('EXTRA3CONFBIN').AsString := cbExtra3.Text; dmModelo.cdsGerarLaudos.FieldByName('DATA').AsDateTime := frmGerarLaudo.dtpHoje.Date; dmModelo.cdsGerarLaudos.FieldByName('VIDROS').AsString := frmGerarLaudo.edtVidros.Text; dmModelo.cdsGerarLaudos.FieldByName('HODOMETRO').AsString := frmGerarLaudo.edtHodometro.Text; end; procedure TfrmCarregarImagens.btnCarregaChassiClick(Sender: TObject); begin if OpenPictureDialogChassi.Execute then begin imgChassi.Picture.LoadFromFile(OpenPictureDialogChassi.FileName); edtCaminho.Text := OpenPictureDialogChassi.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaChassiClick(Sender: TObject); begin imgChassi.Picture := Nil; OpenPictureDialogChassi.FileName := ''; caminho_chassi := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnCarregaMotorClick(Sender: TObject); begin if OpenPictureDialogMotor.Execute then begin imgMotor.Picture.LoadFromFile(OpenPictureDialogMotor.FileName); edtCaminho.Text := OpenPictureDialogMotor.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaMotorClick(Sender: TObject); begin imgMotor.Picture := Nil; OpenPictureDialogMotor.FileName := ''; caminho_motor := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnCarregaPlacaClick(Sender: TObject); begin if OpenPictureDialogPlaca.Execute then begin imgPlaca.Picture.LoadFromFile(OpenPictureDialogPlaca.FileName); edtCaminho.Text := OpenPictureDialogPlaca.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaPlacaClick(Sender: TObject); begin imgPlaca.Picture := Nil; OpenPictureDialogPlaca.FileName := ''; caminho_placa := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnCarregaExtraClick(Sender: TObject); begin if OpenPictureDialogExtra.Execute then begin imgExtra.Picture.LoadFromFile(OpenPictureDialogExtra.FileName); edtCaminho.Text := OpenPictureDialogExtra.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaExtraClick(Sender: TObject); begin imgExtra.Picture := Nil; OpenPictureDialogExtra.FileName := ''; caminho_extra := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnCarregaExtra2Click(Sender: TObject); begin if OpenPictureDialogExtra2.Execute then begin imgExtra2.Picture.LoadFromFile(OpenPictureDialogExtra2.FileName); edtCaminho.Text := OpenPictureDialogExtra2.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaExtra2Click(Sender: TObject); begin imgExtra2.Picture := Nil; OpenPictureDialogExtra2.FileName := ''; caminho_extra2 := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnCarregaExtra3Click(Sender: TObject); begin if OpenPictureDialogExtra3.Execute then begin imgExtra3.Picture.LoadFromFile(OpenPictureDialogExtra3.FileName); edtCaminho.Text := OpenPictureDialogExtra3.FileName; end; end; procedure TfrmCarregarImagens.btnLimpaExtra3Click(Sender: TObject); begin imgExtra3.Picture := Nil; OpenPictureDialogExtra3.FileName := ''; caminho_extra3 := ''; edtCaminho.Clear; end; procedure TfrmCarregarImagens.btnIncluirClick(Sender: TObject); begin dmModelo.cdsGerarLaudos.Append; btnConfirmar.Enabled := True; end; procedure TfrmCarregarImagens.btnConfirmarClick(Sender: TObject); var auxiliar : String; begin if ((OpenPictureDialogChassi.FileName = '') or (OpenPictureDialogMotor.FileName = '') or (OpenPictureDialogPlaca.FileName = '')) then MessageDlg('Somente Imagens "EXTRA" podem ficar em Branco.', mtError, [mbOk], 0) else begin auxiliar := frmGerarLaudo.mEdtPlaca.Text; dia := DateToStr(frmGerarLaudo.dtpHoje.Date); dia := StringReplace(dia, '/', '', [rfReplaceAll, rfIgnoreCase]); //Copia os arquivos para a pasta Imagens direto no Servidor -> (D:\modelo\imagens\) //Acrescenta o nome aos novos arquivos //Nome formado por: PATH + DDMMAAAA_ (Data) + PLACA + especificação imgChassi.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_chassi.jpg'); caminho_chassi := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_chassi.jpg'; imgMotor.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_motor.jpg'); caminho_motor := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_motor.jpg'; imgPlaca.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_placa.jpg'); caminho_placa := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_placa.jpg'; if not (OpenPictureDialogExtra.FileName = '') then begin imgExtra.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra.jpg'); caminho_extra := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra.jpg'; end; if not (OpenPictureDialogExtra2.FileName = '') then begin imgExtra2.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra2.jpg'); caminho_extra2 := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra2.jpg'; end; if not (OpenPictureDialogExtra3.FileName = '') then begin imgExtra3.Picture.SaveToFile('\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra3.jpg'); caminho_extra3 := '\\modelo01\modelo$\imagem\' + dia + '_' + auxiliar + '_extra3.jpg'; end; Gravar; dmModelo.cdsGerarLaudos.ApplyUpdates(0); MessageDlg('Laudo Gravado com Sucesso. Gerando Relatório.', mtConfirmation, [mbOk], 0); dmModelo.cdsPesquisaLaudo.Close; dmModelo.cdsPesquisaLaudo.CommandText := 'select FIRST 1 * from LAUDOS order by CODIGO desc'; dmModelo.cdsPesquisaLaudo.Open; dmModelo.cdsPesquisaLaudo.Refresh; frmGerarLaudo.Limpar; Application.CreateForm(TfrmRelatorio,frmRelatorio); frmRelatorio.QRCompositeReport1.Prepare; frmRelatorio.QRCompositeReport1.Preview; FreeAndNil(frmRelatorio); Close; end; end; procedure TfrmCarregarImagens.btnLimparClick(Sender: TObject); begin imgChassi.Picture := Nil; imgMotor.Picture := Nil; imgPlaca.Picture := Nil; imgExtra.Picture := Nil; imgExtra2.Picture := Nil; imgExtra3.Picture := Nil; OpenPictureDialogChassi.FileName := ''; OpenPictureDialogMotor.FileName := ''; OpenPictureDialogPlaca.FileName := ''; OpenPictureDialogExtra.FileName := ''; OpenPictureDialogExtra2.FileName := ''; OpenPictureDialogExtra3.FileName := ''; edtCaminho.Clear; edtExtra2.Clear; edtExtra3.Clear; caminho_chassi := ''; caminho_motor := ''; caminho_placa := ''; caminho_extra := ''; caminho_extra2 := ''; caminho_extra3 := ''; cbChassi.ItemIndex := -1; cbMotor.ItemIndex := -1; cbPlaca.ItemIndex := -1; cbExtra2.ItemIndex := -1; cbExtra3.ItemIndex := -1; end; procedure TfrmCarregarImagens.FormCreate(Sender: TObject); begin btnConfirmar.Enabled := False; end; procedure TfrmCarregarImagens.FormClose(Sender: TObject; var Action: TCloseAction); begin OpenPictureDialogChassi.FreeOnRelease; OpenPictureDialogMotor.FreeOnRelease; OpenPictureDialogPlaca.FreeOnRelease; OpenPictureDialogExtra.FreeOnRelease; OpenPictureDialogExtra2.FreeOnRelease; OpenPictureDialogExtra3.FreeOnRelease; dmModelo.cdsGerarLaudos.CancelUpdates; end; end. Agradeço por qualquer ajuda ou sugestão. Abraços
  3. Senhores, alguma sugestão? Ainda estou com o problema... Se quiserem, eu disponibilizo todos os códigos Delphi, Banco, ScreenShots e etc.... Muito obrigado.
  4. Obrigado por responder Jhonas. Desculpe não ter respondido antes, estava viajando e só consegui ver esse final de semana. Acrescentei a liberação que você sugeriu. Eu coloquei o código abaixo dentro do evento "onClose" do formulário do Relatório (frmRelatorio). FreeAndNil(QuickRep1); FreeAndNil(QuickRep2); Seria isso? O Código compilou sem erros. Colocarei em teste e depois postarei os resultados. Agradeço sua ajuda. Abraços,
  5. Boa noite senhores. Desculpem abrir novamente o tópico, porém o meu pesadelo voltou. Eu pensei que havia resolvido o problema, mas eu só retardei. Explicarei melhor o que está acontecendo, desde o início. Criei uma pequena aplicação para gerar Laudos técnicos de vistoria de Veículos. O laudo precisa conter informações de veículos e principalmente as FOTOS da vistoria. Assim sendo, criei a aplicação com Delphi 7 + QuickReport + IBExpert + Firebird 1.5 + Componentes DBExpress. Basicamente, a aplicação salva em Banco de Dados apenas o CAMINHO da imagem, e usa esse caminho posteriormente para carregar e gerar o relatório. São 6 fotos ao total. A aplicação funciona dentro do esperado até a geração do Relatório. O usuário consegue visualizar todas as informações corretamente, assim como as fotos. Porém, ao mandar IMPRIMIR, "às vezes", alguma das imagens some. Não é sempre que isso acontece. Pode acontecer 3 vezes no dia, como pode acontecer 3 vezes na semana, independemente do número de relatórios.Exemplo: São 6 fotos. Chassi, Motor, Placa, Hodômetro, Plaqueta e FotoAdicional. O usuário consegue gerar alguns relatórios, mas depois a imagem não aparece na IMPRESSÃO. Se o usuário fechar o relatório e abrir novamente, às vezes é possível imprimir corretamente, mas outras vezes não. Ouvi falar que poderia ser um erro de relatório interno, ou seja, algum problema com o QuickReport. Então, baixei e instalei o pacote do Fortes Report mas infelizmente o problema é O MESMO. Abaixo está relacionado tudo da parte Relatório que eu criei. Criação Dinâmica do Relatório: Application.CreateForm(TfrmRelatorio,frmRelatorio); frmRelatorio.QRCompositeReport1.Prepare; frmRelatorio.QRCompositeReport1.Preview; FreeAndNil(frmRelatorio); A Unit do Formulário: unit untFrmRelatorio; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, QRCtrls, QuickRpt, ExtCtrls, Jpeg; type TfrmRelatorio = class(TForm) QuickRep1: TQuickRep; QRBand1: TQRBand; QRLabel1: TQRLabel; QRCompositeReport1: TQRCompositeReport; QRBand3: TQRBand; QuickRep2: TQuickRep; QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRImage1: TQRImage; QRSysData1: TQRSysData; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRDBText1: TQRDBText; QRShape1: TQRShape; QRLabel8: TQRLabel; QRLabel9: TQRLabel; QRDBText2: TQRDBText; QRLabel10: TQRLabel; QRDBText3: TQRDBText; QRShape2: TQRShape; QRLabel11: TQRLabel; QRLabel12: TQRLabel; QRLabel13: TQRLabel; QRLabel14: TQRLabel; QRLabel15: TQRLabel; QRLabel16: TQRLabel; QRLabel17: TQRLabel; QRLabel18: TQRLabel; QRLabel19: TQRLabel; QRLabel20: TQRLabel; QRLabel21: TQRLabel; QRLabel22: TQRLabel; QRLabel23: TQRLabel; QRLabel24: TQRLabel; QRLabel25: TQRLabel; QRLabel26: TQRLabel; QRLabel27: TQRLabel; QRLabel28: TQRLabel; QRLabel29: TQRLabel; QRLabel30: TQRLabel; QRLabel31: TQRLabel; QRLabel32: TQRLabel; QRLabel33: TQRLabel; QRLabel34: TQRLabel; QRLabel35: TQRLabel; QRLabel36: TQRLabel; QRLabel37: TQRLabel; QRLabel38: TQRLabel; QRDBText4: TQRDBText; QRDBText5: TQRDBText; QRDBText6: TQRDBText; QRDBText7: TQRDBText; QRDBText8: TQRDBText; QRDBText9: TQRDBText; QRDBText10: TQRDBText; QRDBText11: TQRDBText; QRDBText12: TQRDBText; QRDBText14: TQRDBText; QRDBText15: TQRDBText; QRDBText16: TQRDBText; QRDBText17: TQRDBText; QRDBText18: TQRDBText; QRDBText19: TQRDBText; QRDBText20: TQRDBText; QRDBText21: TQRDBText; QRDBText22: TQRDBText; QRDBText23: TQRDBText; QRDBText24: TQRDBText; QRDBText25: TQRDBText; QRDBText26: TQRDBText; QRDBText27: TQRDBText; QRDBText28: TQRDBText; QRDBText29: TQRDBText; QRShape3: TQRShape; QRDBRichText1: TQRDBRichText; QRShape4: TQRShape; QRLabel39: TQRLabel; QRMemo1: TQRMemo; QRLabel40: TQRLabel; QRShape5: TQRShape; QRBand2: TQRBand; QRLabel44: TQRLabel; QRLabel45: TQRLabel; QRLabel46: TQRLabel; QRSysData2: TQRSysData; QRLabel47: TQRLabel; QRLabel48: TQRLabel; QRBand5: TQRBand; QRLabel50: TQRLabel; QRLabel51: TQRLabel; QRShape6: TQRShape; QRLabel52: TQRLabel; QRShape7: TQRShape; QRShape8: TQRShape; QRShape11: TQRShape; QRShape12: TQRShape; QRShape9: TQRShape; QRShape10: TQRShape; QRLabel53: TQRLabel; QRLabel54: TQRLabel; QRLabel55: TQRLabel; QRDBText31: TQRDBText; QRDBText32: TQRDBText; QRDBText33: TQRDBText; QRLabel56: TQRLabel; QRLabel57: TQRLabel; QRShape13: TQRShape; QRShape14: TQRShape; QRLabel41: TQRLabel; QRLabel42: TQRLabel; QRShape15: TQRShape; QRShape16: TQRShape; QRLabel43: TQRLabel; QRLabel49: TQRLabel; QRImageChassi: TQRImage; QRLabel58: TQRLabel; QRDBText34: TQRDBText; QRImageMotor: TQRImage; QRLabel59: TQRLabel; QRDBText35: TQRDBText; QRImagePlaca: TQRImage; QRLabel60: TQRLabel; QRDBText36: TQRDBText; QRImageExtra: TQRImage; QRImageExtra2: TQRImage; QRLabel62: TQRLabel; QRDBText38: TQRDBText; QRImageExtra3: TQRImage; QRLabel63: TQRLabel; QRDBText39: TQRDBText; QRImage2: TQRImage; QRDBText30: TQRDBText; QRLabel2: TQRLabel; QRImage3: TQRImage; QRImage4: TQRImage; QRLabel64: TQRLabel; QRLabel65: TQRLabel; QRDBText40: TQRDBText; QRDBText41: TQRDBText; QRDBText13: TQRDBText; QRLabel66: TQRLabel; QRLabel67: TQRLabel; procedure QRCompositeReport1AddReports(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmRelatorio: TfrmRelatorio; caminho_chassi, caminho_motor, caminho_placa, caminho_extra, caminho_extra2, caminho_extra3 : String; implementation uses untDmModelo; {$R *.dfm} procedure TfrmRelatorio.QRCompositeReport1AddReports(Sender: TObject); begin //Preciso de Duas páginas para todas as informações. Na página 1 aparecem os dados e na Página 2 as FOTOS. QRCompositeReport1.Reports.Add(QuickRep1); // Página da Frente QRCompositeReport1.Reports.Add(QuickRep2); //Página do Verso end; procedure TfrmRelatorio.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; frmRelatorio.Release; frmRelatorio := nil; end; procedure TfrmRelatorio.FormCreate(Sender: TObject); begin //Variáveis recebem o caminho das imagens caminho_chassi := dmModelo.cdsPesquisaLaudo.FieldByName('PATHCHASSI').AsString; caminho_motor := dmModelo.cdsPesquisaLaudo.FieldByName('PATHMOTOR').AsString; caminho_placa := dmModelo.cdsPesquisaLaudo.FieldByName('PATHPLACA').AsString; caminho_extra := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA').AsString; caminho_extra2 := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA2').AsString; caminho_extra3 := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA3').AsString; //Os componentes de imagem recebem a IMAGEM para formar o Relatório QRImageChassi.Picture.LoadFromFile(caminho_chassi); QRImageMotor.Picture.LoadFromFile(caminho_motor); QRImagePlaca.Picture.LoadFromFile(caminho_placa); if not (caminho_extra = '') then begin QRImageExtra.Picture.LoadFromFile(caminho_extra); end; if not (caminho_extra2 = '') then begin QRImageExtra2.Picture.LoadFromFile(caminho_extra2); end; if not (caminho_extra3 = '') then begin QRImageExtra3.Picture.LoadFromFile(caminho_extra3); end end; end. Refiz o relatório com o Fortes Report, mas o problema continua. Por favor, não tenho experiência com relatórios. Se estou fazendo alguma besteira, por favor, me alertem! Agradeço a atenção.
  6. Concordo! Você quer que o DBEdit seja ligado ao campo código porém exiba qual é o funcionário? Você realizará outra ação com o campo do funcionário ou só exibição? Talvez você precise usar o componente DBLookUpComboBox. Com ele você pega valores de uma tabela, e grava em outra! abraços
  7. boa tarde Jhonas! Obrigado pela sua ajuda! Acrescentei o código de bloqueio de Input no meu código. Agora, consegui resolver o problema. Primeiramente, a rotina que eu havia colocado para carregar as imagens para o QRImage estava no lugar errado. Eu deveria ter colocado no onCreate do FORM do Relatório. Segundo: realmente, o tamanho das imagens estava influenciando. Embora todas fossem Jpeg, elas tinham dimensões enormes, de 4000 x 3000 ou um pouco menor. Diminuindo as dimensões, seu tamanho foi pra em torno de 100Kb cada uma, e assim o programa funcionou normalmente. Agradeço a atenção dispensada! Muito obrigado mesmo pela sua ajuda, ela é sempre muito importante.
  8. Para complementar, eis o código que carrega as imagens para o relatório. Não sei se ajuda, mas eu já tentei colocar ele em outros eventos como: beforePrint e onStartPage. Sem sucesso, continua o mesmo problema. //Variaveis locais recebendo caminho das imagens a ser exibidas caminho_chassi := dmModelo.cdsPesquisaLaudo.FieldByName('PATHCHASSI').AsString; caminho_motor := dmModelo.cdsPesquisaLaudo.FieldByName('PATHMOTOR').AsString; caminho_placa := dmModelo.cdsPesquisaLaudo.FieldByName('PATHPLACA').AsString; caminho_extra := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA').AsString; caminho_extra2 := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA2').AsString; caminho_extra3 := dmModelo.cdsPesquisaLaudo.FieldByName('PATHEXTRA3').AsString; //Carregando as 3 imagens obrigatórias QRImageChassi.Picture.LoadFromFile(caminho_chassi); QRImageMotor.Picture.LoadFromFile(caminho_motor); QRImagePlaca.Picture.LoadFromFile(caminho_placa); /Se houver imagens não-obrigatórias, elas são carregas. senão, deixa vazio if not (caminho_extra = '') then begin QRImageExtra.Picture.LoadFromFile(caminho_extra); end else begin QRLabel61.Enabled := False; end; if not (caminho_extra2 = '') then begin QRImageExtra2.Picture.LoadFromFile(caminho_extra2); end else begin QRLabel62.Enabled := False; end; if not (caminho_extra3 = '') then begin QRImageExtra3.Picture.LoadFromFile(caminho_extra3); end else begin QRLabel63.Enabled := False; end; end;
  9. Bom dia srs, Tenho uma aplicação, feita com Delphi 7 + Firebird 1.5 + DBExpress+ QuickReport. É um software de vistoria de veículos. São inseridos dados, imagens da vistoria e o software gera um laudo impresso. As imagens que são inseridas no programa, são copiadas para uma outra pasta do do computador, e são renomeadas. Posteriormente são recuperadas para fazer o relatório. O problema é: o relatório é montado normalmente, e todas as imagens da vistoria aparecem. Porém, quando eu mando imprimir, algumas imagens não são impressas (apenas algumas imagens da vistoria, e não partes do relatório). São 06 imagens da vistoria. Às vezes, a imagem número 02 não é impressa, às vezes a 03 não é impressa, e outras vezes NENHUMA imagem é impressa. Se por exemplo falhar a impressão da imagem 02, e eu mandar imprimir novamente o relatório, outras imagens que foram impressas anteriormente falham. Reparei algumas coisas: 01) Se não movimentar o mouse após mandar imprimir, TODAS AS IMAGENS SÃO IMPRESSAS. (Senhores, não estou louco. Eu fiz 15 testes seguidos, testando o que eu citei a pouco, e nas 15 vezes aconteceu o que era previsto: se eu movesse o mouse, falhava alguma [ou todas] as imagens; se eu não movesse o mouse, era tudo impresso corretamente). 02) Esse erro acontece em uma máquina de placa-mãe Intel, com processador ATOM e 2 GB de RAM. Essa máquina foi formatada, instalado o Windows XP Professional com todas atualizações, e apenas instalado os programas básicos. Essa falha, acontece nela, mas não em um outro computador, de capacidade de processamento inferior. Gostaria que o srs me ajudassem, dando alguma sugestão ou opinião sobre o assunto. Estou sem alternativas de testes (pelo menos, não consigo mais pensar em nenhuma). Agradeço a atenção dos senhores.
  10. isso eu não tinha tentado! muito obrigado pela dica, vou tentar agora mesmo! depois eu posto o resultado obrigado pela atenção Jhonas!! abraço
  11. Anti-virus: desativei para realizar o teste e mesmo assim, não funcionou. Firewall: Acrescentei o software como exceção, e também adicionei a porta do firebird 3050, não funcionou. Definição incorreta: aí eu já não saberia nem como testar, uma vez que eu não utilizei portas na programação. Como citei, configurei o aliases.conf do firebird e acrescentei as DLL's necessárias. Em outras máquinas funciona dentro do esperado, porém nessa máquina em específico não. Quando eu me referi a "incompatibilidade de hardware", na realidade eu quis dizer algo como problema na placa de rede. Seria possível? Eu não consigo entender, nem achar uma lógica para isso tudo. Mais uma vez, obrigado pelo interesse e pela atenção Jhonas abraços,
  12. Olá Jhonas, obrigado por responder Eu testei isso também e não funciona. Para analisar a situação em OUTRA máquina, troquei o servidor. Mudei o executável, o banco de lugar, e as configurações de rede local (pois a minha aplicação depende de uma pasta compartilhada no servidor). Ou seja, inverti os papéis: a máquina que era cliente virou servidor e o servidor virou cliente. Para minha surpresa: FUNCIONOU. As configurações típicas, feitas normalmente. Firebird, compartilhamento de pastas, configuração das propriedades no Delphi... tudo a mesma coisa. Só me resta afirmar que foi uma "incompatibilidade de hardware". Isso seria possível? A aplicação só funcionar localmente e não receber acessos via rede, seria um problema de hardware? Já que, trocando o computador, a aplicação funciona dentro do esperado, recebendo conexões da rede. É a primeira vez que vejo isso. Alguém já passou por isso antes?
  13. Para completar: Fiz o teste da seguinte forma: peguei a minha máquina de desenvolvimento e coloquei momentaneamente como servidora da aplicação. Aí SIM, a aplicação no cliente roda. Ao transportar o meu sistema para outra máquina, e transformar esta em servidor, a aplicação deixa de funcionar EM REDE, e fica funcionando apenas localmente. Olhando o arquivo firebird.txt (LOG), notei o erro: SERVER (Client) Sun Nov 29 19:34:27 2009 INET/inet_error: connect errno = 10060 Alguma idéia????
  14. Boa tarde senhores. Tenho uma aplicação, que deve funcionar em rede. Para isso, utilizei Delphi7 + DBExpress + Firebird 1.5 A aplicação funciona dentro do esperado, tanto na máquina de desenvolvimento, quanto na máquina SERVIDORA (uma máquina com apenas o Windows XP instalado, atualizada e Firebird 1.5 completo - superserver) O banco de dados está nessa máquina, referenciado no aliases.conf do firebird através de: dbmodelo = d:\Program Files\modelo\database\modelo.fdb Na aplicação Delphi, o componente SQLConnection está definido com: Connected := True database := modelo01:dbmodelo Onde, modelo01 é o nome da própria máquina servidora. A rede funciona corretamente, é possível acessar às pastas compartilhadas, e enxergar o banco de dados. O problema é: as outras máquinas da rede não conseguem executar o sistema. Copiei as DLL's necessárias (midas, dbexpint) e é claro, instalei o Firebird 1.5, também de maneira completa - superserver. Quando eu tento executar a aplicação numa máquina cliente, o sistema não abre e aparece uma tela de erro do Windows, dizendo que o programa executou uma operação ilegal e será fechado. Pergunta se eu desejo enviar um relatório de erros à Microsoft. O que poderia ser isso? Como resolvo esse problema?
  15. Olá Andreza, eu não entendi muito bem sua dúvida. O que você precisa exatamente? Quanto mais detalhes você der, mais fácil fica de entender! Você precisa de duas páginas no Rave ??? Uma diferente da outra??
×
×
  • Criar Novo...