Esse artigo faz parte da revista Clube Delphi Edição 72. Clique aqui para ler todos os artigos desta edição
image

Atenção: por essa edição ser muito antiga não há arquivo pdf para download deste artigo.

Componentes

ActionList

Reaproveitamento de código e ações personalizadas

Quem de nós nunca ouviu falar em reutilização de código? Essa é uma das grandes vantagens da Orientação a Objetos e é um dos motivos que a faz tão famosa. Hoje, o tempo gasto na codificação do software tem sido cada vez mais reduzido e essa é uma das grandes tendências das próximas metodologias e paradigmas de programação.

Quando falamos de classes e objetos, fica claro que reutilizar significa reaproveitá-los em diversos lugares, evitando a duplicação. Porém, o Delphi também é fortemente baseado em uma arquitetura orientada a eventos. Nesse caso, o simples fato de podermos configurar o mesmo método tratador de evento (event handler) para mais de um botão já demonstra o reuso.

Agora, e quando os controles que disparam esses eventos são de naturezas bem diferentes, como um item de menu e um botão na Toolbar? Vejamos como utilizar na prática o ActionList, que entre muitas outras coisas podem ajudar muito nesse sentido. Suas restrições e cuidados, passando por ações pré-definidas, customizadas e, por fim, veremos como registrá-las no IDE.

Actions

Como comentado, replicar o mesmo event handler para mais de um controle é geralmente fácil, basta que o tipo de método tratador seja o mesmo. Em outras palavras, a assinatura deve ser a mesma. Quando isso não acontece, o IDE nem mesmo deixa você selecionar o método no ComboBox do Object Inspector. Para resolver esse problema, o Delphi introduziu um conceito conhecido como Actions, através do qual, teremos uma ação a ser executada e que pode ser conectada a qualquer controle que possua uma propriedade chamada Action.

O Delphi, da mesma forma que traz diversos componentes prontos, traz também algumas ações pré-definidas a serem utilizadas em nossas aplicações. Essas ações, quando executadas, podem realizar diversas modificações no programa atual. Por exemplo, existe uma para realizar um Undo (desfazer) no controle atual, outra para acrescentar o estilo itálico na fonte do RichEdit ativo, outra para configurar uma página de impressão, outra, pouco conhecida, para enviar e-mails facilmente pelo programa construído etc.

...
Quer ler esse conteúdo completo? Tenha acesso completo