Ir para conteúdo
Fórum Script Brasil
  • 0

Como é Que Eu Saio Dessa?


Carlos Rocha

Pergunta

Ola, estou tendo um probleminha com o datamodule.

Tenho o código abaixo o form do datamodule:

procedure TDMDivan.DSPedidosStateChange(Sender: TObject);
begin
  CPedidos.SpdBtnAlterar.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnIncluir.Enabled := QryPedidos.State in [dsBrowse];
  CPedidos.SpdBtnProcurar.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnCancelar.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.SpdBtnGravar.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.SpdBtnExcluir.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnImprimir.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);

  CPedidos.BitBtnFechar.Enabled := QryPedidos.State in [dsBrowse];
  CPedidos.DBNavigatorPedidos.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.pnItem.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.PanelDados.Enabled := QryPedidos.State in [dsInsert, dsEdit];
end;
Preciso criar o form CPedidos antes da primeira linha mas o comando Application.CreateForm(TRPedidos, RPedidos);, não passa o form do datamodule.
procedure TDMDivan.DSPedidosStateChange(Sender: TObject);
begin
  Application.CreateForm(TRPedidos, RPedidos);
  CPedidos.SpdBtnAlterar.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnIncluir.Enabled := QryPedidos.State in [dsBrowse];
  CPedidos.SpdBtnProcurar.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnCancelar.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.SpdBtnGravar.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.SpdBtnExcluir.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.SpdBtnImprimir.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);

  CPedidos.BitBtnFechar.Enabled := QryPedidos.State in [dsBrowse];
  CPedidos.DBNavigatorPedidos.Enabled := (QryPedidos.State in [dsBrowse]) and (not QryPedidos.IsEmpty);
  CPedidos.pnItem.Enabled := QryPedidos.State in [dsInsert, dsEdit];
  CPedidos.PanelDados.Enabled := QryPedidos.State in [dsInsert, dsEdit];
end;

Como é que eu saio dessa?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Por que é que você tem que criá-lo no evento OnStateChange?

Esse não é o lugar mais indicado para executar este procedimento. você não utiliza botões para mostrar o form CPedidos? Se sim, é antes do show que você terá que criá-lo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...