tenho um framework de form herdados todos de um form pai.
ai sequindo essa ideia tenho..
formpai
formcadastro
formcadastrogrid
formcadastroextra

esse ultimo possui um cabecario e detalhe.
no cabecario esta o dados do cabecario (se fosse uma nota fiscal aqui seria
os dados da nota. fornecedor, etc)
no detalhe uma grid com os botoes (aqui seria os itens se fosse um cadastro
de nota fiscal)

bem minha bronca é a sequinte.. se o usuario apertar excluir do cabecario
vai devaria apagar todos os detalhes e depois o cabecario. para isso tenho
eventos de onantesdeexcluir e ondepoisdeexcluir (detalhe esses botoes tambem
foram criados por mim, eles controlam o dataset diretamente, dando insert,
delete, edit, etc.) bem ate ai tudo bem. mas minha bronca é o sequinte. nao
uso regras no banco de dados pq minha apllicacao é multbanco e so uso o
banco de dados como repositorio de dados mesmo. intao como minha regra de
negocios esta no sistema eu programo os eventos dos botoes e ta tudo certo.

so que tem uma bronca. no cadastro de vendas mermo.. se o cara excluir uma
venda e essa mermo poder ser excluida ele vai excluir os itens um por um e
depois o cabecario cancelando tudo se tiver erro. ate ai tudo bem. so que
nos eventos de excluir e inserir dos botoes dos items ele tem uma chamada a
classe de estoque que retira ou adiciona tal item no quantitativo do
estoque. intao eu precisava chamar esses eventos do botao.

antes que alquem responda tipo.. "mas pq vc nao implemntea eles direto na
rotina que sai apagando.."  é pq nao posso mesmo pois vou implementar essa
rotina direto no formcadastroextra intao ela tem que ser generica pois uso
esse tipo de formulario muitas vezes.. abaixo ta mais ou menos como seria a
ideia.

while not dsextra.DataSet.IsEmpty do
 begin
  //antes do excluir
  if self.btexcluiextra.OnAntesDoExcluir(sender) <> nil then
self.btexcluiextra.OnAntesDoExcluir(sender);
  //excluindo o dado
  self.dsextra.dataset.Delete;
  //evento de depois do excluit
  if self.btexcluiextra.OnDepoisDoExcluir(sender) <> nil then
self.btexcluiextra.OnDepoisDoExcluir(sender);
end;

intao minha pergunta é como saber se um evento tem algo implementado no
form?
tipo eu so quero chamar o evento OnDepoisDoExcluir se o mesmo foi
implementado no form.
ja que se eu chamar ele sem ter sido implementado ele da erro.


tentei ser o mais explicativo possivel nesse emal. desculpa o tamanho dele..
t+
-- 
Rafael jorge alves
www.itrecife.com -> para verem meus artigos e trabalhos
t+


[As partes desta mensagem que não continham texto foram removidas]

Responder a