Fórum Erro na execulção de uma aplicação #380348

30/06/2010

0

Bom dia...   to programando com o delphi 2007
e ta dando um erro n aminha aplicação.. (10:22) Evolucao Informá: ja pesquisei em foruns e falaram que podia ser porque esta visivel true...
ja colei false e colntinuou.. (10:22) Evolucao Informá: vou te mandar a tela.. (10:24) Evolucao Informá: da este erro (10:33) DELPHI: não entendi (10:34) Evolucao Informá: tipo assim.. (10:34) Evolucao Informá: tenho um form de entrada de notas.. (10:34) Evolucao Informá: clicop em um botao que exibe uma tela para inserir o itm..
item..
ai no event on exit.. (10:35) Evolucao Informá: coloquei um comando para pesquisar... (10:35) Evolucao Informá: pelo codigo de fabrica.. (10:36) Evolucao Informá: se existir no estoque ele vai exibir nos campos..
se nao existir ele vai abrir uma tela de insersão no estoque.. (10:36) Evolucao Informá: mas..
quando vou abrir a tela de inserção aparece este erro que te passei.. (10:37) Evolucao Informá: para tentar achar resposta..
eu fui pesquisa rem alguns foruns na internet.. (10:37) Evolucao Informá: e teve algumas pessoas que falaram.. (10:37) Evolucao Informá: que é porque a propriiedade visivel poderia estar true..
e tinha que colocar false.. (10:38) Evolucao Informá: e na verdade ja esta false...
e eu to perdido..
socoroo!!!!!!!
rsrrs (10:41) DELPHI: rsrsrsrsr
peço que entre no forum devmedia (10:42) Evolucao Informá: ok.. Estou com um probleminha na minha aplicação. Vou tentar expor detalhadamente meu problema. Estou tentando programar com o delphi 2007 e ta dando um erro na minha aplicação.. Tenho um form de entrada de notas e clico em um botao que exibe uma tela para inserir item na nota fiscal que por sua vez tem o seguinte comando no event on exit:         CadastroNumSerie.QryEstoque.Close;
     CadastroNumSerie.QryEstoque.SQL.Clear;
     CadastroNumSerie.QryEstoque.SQL.Add('Select * from Estoque where CODFABRICA = :P');
     CadastroNumSerie.QryEstoque.ParamByName('P').AsString := EdtCodFabrica.Text;
     CadastroNumSerie.QryEstoque.Open;
     if CadastroNumSerie.QryEstoque.RecordCount <> 1 then
     begin
          Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);
     end;..   Conforme da para ver, se a quantidade de resposta for diferente de 1, ele vai exibir uma outra tela para ou inserir no estoque ou escolher qual produto estou trabalhando. Entao, quando vou executar a aplicação aparece este erro:       Só para constar, esta tela de cadastro de estoque (Cad_Estoque), eu chamo ela em outro lugar e ela abre sem erro.   Procurei em outros foruns e falaram que é porque a propriedade visivel poderia estar true e tinha que colocar false mas ja verifiquei e esta false. To perdido!!! Como diria o chapolim colorado: "Óh e agora quem poderá me defender?" no caso, me ajudar? Obrigado
Weyne Neto

Weyne Neto

Responder

Posts

30/06/2010

Weyne Neto

Bom dia...     Estou com um probleminha na minha aplicação. Vou tentar expor detalhadamente meu problema. Estou tentando programar com o delphi 2007 e ta dando um erro na minha aplicação.. Tenho um form de entrada de notas e clico em um botao que exibe uma tela para inserir item na nota fiscal que por sua vez tem o seguinte comando no event on exit:         CadastroNumSerie.QryEstoque.Close;
     CadastroNumSerie.QryEstoque.SQL.Clear;
     CadastroNumSerie.QryEstoque.SQL.Add('Select * from Estoque where CODFABRICA = :P');
     CadastroNumSerie.QryEstoque.ParamByName('P').AsString := EdtCodFabrica.Text;
     CadastroNumSerie.QryEstoque.Open;
     if CadastroNumSerie.QryEstoque.RecordCount <> 1 then
     begin
          Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);
     end;..   Conforme da para ver, se a quantidade de resposta for diferente de 1, ele vai exibir uma outra tela para ou inserir no estoque ou escolher qual produto estou trabalhando. Entao, quando vou executar a aplicação aparece este erro:       Só para constar, esta tela de cadastro de estoque (Cad_Estoque), eu chamo ela em outro lugar e ela abre sem erro.   Procurei em outros foruns e falaram que é porque a propriedade visivel poderia estar true e tinha que colocar false mas ja verifiquei e esta false. To perdido!!! Como diria o chapolim colorado: "Óh e agora quem poderá me defender?" no caso, me ajudar? Obrigado
Responder

Gostei + 0

30/06/2010

Wilson Junior

Antes de Cad_Estoque.ShowModal; colocque Cad_Estoque.Visible := False;

Espero ter colaborado.
Responder

Gostei + 0

30/06/2010

Weyne Neto

Antes de Cad_Estoque.ShowModal; colocque Cad_Estoque.Visible := False;

Espero ter colaborado.
Caro Wilson, sinto muito, mas nao funcionou... Se vc tiver ideia do que possa ser eu agradeço...
Responder

Gostei + 0

30/06/2010

Wilson Junior

Dentro do Cad_Estoque você deve estar executando algum SetFocus e ele ainda não pode ser executado pois o formulário não está visível.

Espero ter colaborado.
Responder

Gostei + 0

30/06/2010

Emerson Nascimento

if CadastroNumSerie.QryEstoque.RecordCount <> 1 then
begin
   Cad_Estoque := TCad_Estoque(self);
   Cad_Estoque.Hide; //ou Cad_Estoque.Visible := False;
   Cad_Estoque.ShowModal;
   FreeAndNil(Cad_Estoque);
end;


esse problema pode estar ligado à propriedade FormStyle do seu formulário.
Responder

Gostei + 0

30/06/2010

Daniel Oliveira

Bom eu ja passei por um problema parecido em um form que continha vários Panels. Na programação tinha um linha parecida passando a propriedade visible:=true; E mesmo assim ainda persistia o erro.   Depois de debugando linha por linha que eu reparei, que tinha um metodo que chamava o panel antes de dar visible:=true a ele.   Debugue linha por linha e veja se nada esta atrapalhando a sequencia das chamadas.   Espero ter ajudado.
Responder

Gostei + 0

30/06/2010

Carlos Mazzi

deu certo amigao?
Responder

Gostei + 0

01/07/2010

Weyne Neto

deu certo amigao?
Pior que nenhuma das citações acima nao funcionou... Usei a propria função de delphi de procurar texto e nao foi encontrado nenhum setFocus... A Tela esta visible := False; O FormStyle esta normal... Será que pode ser algum bug que esta no meu projeto? Se mais pessoas tiver ideia do que possa me ajudar eu agradeço!
Responder

Gostei + 0

01/07/2010

Weyne Neto

Pessoal.. Um colega meu achou a solução... O que vc acha de criar o formulario antes de exibir ele?  rsrsrsr   Errado:             Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);   Correto:             Cad_Estoque := TCad_Estoque.Create(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);     Muito obrigado pela atenção de todas que se comprometeu com a ajuda...e até a proxima!!!
Responder

Gostei + 0

01/07/2010

Marco Salles

Pessoal.. Um colega meu achou a solução... O que vc acha de criar o formulario antes de exibir ele?  rsrsrsr   Errado:             Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);   Correto:             Cad_Estoque := TCad_Estoque.Create(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);     Muito obrigado pela atenção de todas que se comprometeu com a ajuda...e até a proxima!!!
Bem amigo a maioria que leuo este post Acreditou que ja existia a instancia e vc apenas estava passando o ponteiro.. A Sugestão do Visible:=false é procedente em muitos caso de arquitetura SDI ( como foi colocado por um dos amigos
problema relacionado ao FormSytle do Formulário
Mas no fim voi verificado que vc não tina a Instancia   Ai eu pergunto.. Porque Esconder ????
       Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);
  Não seria mais simples fazer Isto  
       Cad_Estoque := TCad_Estoque(self);
          try
       Cad_Estoque.ShowModal;
         finally
       FreeAndNil(Cad_Estoque);
     
Responder

Gostei + 0

01/07/2010

Marco Salles

Pessoal.. Um colega meu achou a solução... O que vc acha de criar o formulario antes de exibir ele?  rsrsrsr   Errado:             Cad_Estoque := TCad_Estoque(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);   Correto:             Cad_Estoque := TCad_Estoque.Create(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);     Muito obrigado pela atenção de todas que se comprometeu com a ajuda...e até a proxima!!!
Bem amigo a maioria que leuo este post Acreditou que ja existia a instancia e vc apenas estava passando o ponteiro.. A Sugestão do Visible:=false é procedente em muitos caso de arquitetura SDI ( como foi colocado por um dos amigos
problema relacionado ao FormSytle do Formulário
Mas no fim voi verificado que vc não tina a Instancia   Ai eu pergunto.. Porque Esconder ????
       Cad_Estoque := TCad_Estoque.Create(self);
          Cad_Estoque.Hide;
          Cad_Estoque.ShowModal;
          FreeAndNil(Cad_Estoque);
  Não seria mais simples fazer Isto  
       Cad_Estoque := TCad_Estoque.Create(NIL);
          try
       Cad_Estoque.ShowModal;
         finally
       FreeAndNil(Cad_Estoque);
  Sem quere fui na Onda od Ponteiro  Cad_Estoque := TCad_Estoque(self);   Com não da Para Editar ( Infelismente ) Republico o post com as Devidas Correções      
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar