Erro ao chamar o Form criado

Delphi

08/12/2010

olha a rotina   procedure TF_Principal.ChamaFormulario( TFormulario:TFormClass; Formulario:TForm; Sender:TObject );
begin
  try
    if not Assigned(Formulario) then
       Formulario := TFormulario.Create( Application );
    Formulario.ShowModal;
  finally
    Formulario.Free;
  End;
end;
procedure TF_Principal.cbMenu_PrevRClick(Sender: TObject);
begin
  ChamaFormulario(TF_ImpPrevisaoContas,F_ImpPrevisaoContas,Sender);
end;
dentro desse F_ImpPrevisaoContas eu crio e chamo o F_RelPrevisaoContasSem   procedure TF_RelPrevisaoContasSem.DetailBandBeforePrint(Band: TSctBand);
begin
  QryHist.Close;
  QryHist.SQL[4] := '  AND D.DATA = :DATA';
  QryHist.SQL[5] := '  AND D.DC = ''C''';
  QryHist.SQL[6] := '  AND D.DOCUMENTO = ''transferencia''';
  QryHist.ParamByName('DATA').AsDateTime := StrToDate(F_ImpPrevisaoContas.edDataInicial.Text);
  QryHist.Open;
End;   quando ele executa a linha QryHist.ParamByName('DATA').AsDateTime := StrToDate(F_ImpPrevisaoContas.edDataInicial.Text); ele da erro no  F_ImpPrevisaoContas falou que ele não foi criado, mas ele foi criado se ao invez do exemplo acima eu criar assim:
procedure TF_Principal.cbMenu_PrevRClick(Sender: TObject);
begin     F_ImpPrevisaoContas := TF_ImpPrevisaoContas.Create(Application);     F_ImpPrevisaoContas.ShowModal;     F_ImpPrevisaoContas.Free;
end;   dai funciona, alguem sabe o que é isso?
Weberley Guelsi

Weberley Guelsi

Curtidas 0

Respostas

Ricardo Araujo

Ricardo Araujo

08/12/2010

boa tarde,


vc já tentou fazer assim;

begin
   F_ImpPrevisaoContas := TF_ImpPrevisaoContas.Create(Application);
  try
     //aqui criaria a rotina de consula do relatorio.
       executarConsulta;

   // depois  chama o relatorio o nome do formulario e depois o preview do quickreport.
    F_ImpPrevisaoContas.Quickreport1.preview;
  finally
    F_ImpPrevisaoContas.Free;
  end;


exemplo :
   
  criar este metodo dentro do relatorio.
  
  // no formulario F_ImpPrevisaoContas
  procedure executarConsulta;
   begin

   QryHist.Close;
  QryHist.SQL[4] := '  AND D.DATA = :DATA';
  QryHist.SQL[5] := '  AND D.DC = ''C''';
  QryHist.SQL[6] := '  AND D.DOCUMENTO = ''transferencia''';
  QryHist.ParamByName('DATA').AsDateTime := StrToDate(F_ImpPrevisaoContas.edDataInicial.Text);
  QryHist.Open;
 end;


Espero ter ajudado.
rbbarreto@hotmail.com
GOSTEI 0
POSTAR