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]