Fórum Como cancelar uma Action simples? #443864
24/05/2013
0
Eu tenho uma ação criada no ActionList para navegar pelas abas do PageControl, no evento OnExecute da ação o código ficou assim:
procedure Tfrm_Protocolo.Ac_VisualizarExecute(Sender: TObject);
begin
begin
if PageControl1.ActivePage = tbConsulta then
Leitura('L');
end;
if PageControl1.ActivePage = tbConsulta then
PageControl1.ActivePage := tbCadastro
else
PageControl1.ActivePage := tbConsulta;
if PageControl1.ActivePage = tbConsulta then
DS_PROTOCOLADAS.DataSet.Open
else
DS_PROTOCOLADAS.DataSet.Close;
end;
A navegação funciona perfeitamente, o que eu estou querendo fazer é não permitir essa navegação, se eu estiver na aba de cadastro e com o DataSource em estado de inserção ou edição, como o código abaixo:
if DS_CADASTRO.State in [dsInsert, dsEdit] then
begin
Coloco o quê aqui?????????????????????;
showmessage('Você deve salvar ou cancelar a operação antes de sair da tela de cadastro');
end;
Já tentei um monte de coisa:
Ac_Visualizar.Execute:= False; Ac_Visualizar.Free; Ac_Visualizar.ExecuteAction(False); Ac_Visualizar.FreeInstance;
Mesmo com o DataSource em estado de inserção ou edição a desgraçada da ação troca de aba.
Celso Souza
Curtir tópico
+ 0Posts
24/05/2013
Rafael Cunha
Gostei + 0
24/05/2013
Joel Rodrigues
Ac_Visualizar.Enabled := not DS_CADASTRO.State in [dsInsert, dsEdit];
Gostei + 0
24/05/2013
Celso Souza
procedure Tfrm_Protocolo.Ac_VisualizarExecute(Sender: TObject);
begin
if PageControl1.ActivePage = tbConsulta then
begin
if PageControl1.ActivePage = tbConsulta then
Leitura('L');
end;
if PageControl1.ActivePage = tbConsulta then
PageControl1.ActivePage := tbCadastro
else
PageControl1.ActivePage := tbConsulta;
if PageControl1.ActivePage = tbConsulta then
DS_PROTOCOLADAS.DataSet.Open
else
DS_PROTOCOLADAS.DataSet.Close;
if DS_CADASTRO.State in [dsInsert, dsEdit] then
begin
showmessage('Você deve salvar ou cancelar a operação antes de mudar a aba');
Ac_Visualizar.Enabled := False;
PageControl1.ActivePage := tbCadastro
end;
end;
Está funcionando igual a carro zero!
Gostei + 0
24/05/2013
Joel Rodrigues
Estou então marcando este tópico como Concluído.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)