Open Tools API

Qualidade: 

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela ativa
 

Páginas neste artigo

O que é o OTA?

O Open Tools API é um conjunto de cerca de 100 interfaces que permite a interação e o controle da IDE, incluindo seu menu principal, a barra de ferramentas, a lista de ações principal (TActionManager) e sua lista de imagens (TImageList), o editor de código-fonte, os macros de teclado bem como o mapeamento de suas teclas, os formulários e seus componentes no editor de formulários em tempo de projeto, o debugador e o processo sendo debugado, o Code Completion, a lista de mensagens e a lista To-Do1.

Resumindo essa descrição da Embarcadero, o OTA é o meio através do qual você, como programador, é habilitado a fazer o que quiser com a IDE, deixando-a literalmente do seu jeito e estendendo-a de forma a tornar sua produtividade tendendo ao infinito! Pode parecer exagerada essa minha explicação resumida, mas é assim que eu vejo o OTA em sua forma mais básica.

Por que eu devo estender a IDE?

Não, você não precisa estender a IDE, afinal, isso não vai te fazer um programador melhor, no entanto, se você tiver paciência para ler a série de artigos e executar os exemplos que eu vou anexar, certamente em algum momento você vai se perguntar "como eu passei tanto tempo sem nunca ter estendido a IDE em meu favor?".

O que eu devo esperar desta série de artigos?

O OTA é um assunto muito extenso e pouco documentado. Boa parte daquilo que será abordado aqui foi compilado de várias fontes, normalmente em línguas estrangeiras e sem muita profundidade, no entanto será suficiente para um conhecimento básico, porém útil e bastante funcional desta tecnologia. Você vai perceber que estender a IDE é mais simples do que parece. O básico é praticamente uma "receita de bolo"; você pode usar as mesmas classes com pequenas modificações e criar uma infinidade de TDataModules ou TForms customizados (por exemplo) cada um servindo a um propósito específico sem muito esforço.

O OTA não se resume apenas a criação de formulários e módulos de dados customizados (caso você ainda não tenha entendido) mas esta série de artigos vai abordar apenas isso. Do meu humilde ponto de vista este simples uso do OTA é algo que pode sim, fazer sua produtividade aumentar, reduzindo seu esforço repetitivo ao introduzir comportamentos e propriedades nos, antes estáticos, TDataModule e TForm.

Além desse ganho, que já compensaria a leitura, eu particularmente acho interessante a forma como o OTA interage com a IDE, sendo capaz de transformar simples pacotes de componentes criados por nós em algo com uma cara mais profissional, ao permitir que ícones personalizados sejam incluídos na tela de Splash e na tela de About do Delphi.

Não tem jeito: nós, como programadores, somos orgulhosos de nossos feitos e eu garanto que você vai se sentir no mínimo feliz ao ver esses ícones aparecendo na sua IDE (Splash e About). No momento em que você ver que pode implementar comportamentos, inclusive visuais, nos TForms você vai se sentir ainda mais recompensado e começará a ver o OTA com outros olhos.

Mesmo assim, se você ainda não se convencer de que este conteúdo é suficiente para você, a única coisa que posso recomendar é que você estenda seus conhecimentos buscando mais informações na Internet. Eu disse que é complicado de achar, mas imagino que usando o conteúdo destes artigos como base, você estará mais apto a buscar o que precisa de forma mais eficiente.

Está gostando do que está lendo? Ajude nosso site visitando nossos patrocinadores. Obrigado! :)

Eu desenvolvo componentes. O que posso esperar?

Eu sempre subintendo que alguém que já desenvolve componentes para Delphi tem uma boa base de Orientação a Objetos. Se você se enquadra nessa categoria de pessoas, excelente! Você não terá problemas para entender os exemplos e ainda vai ficar mais por dentro das interações com a IDE, aumentando assim o seu Know-How do Delphi.

Já que você se identifica como desenvolvedor de componentes Delphi, gostaria de falar rapidamente com você: se você começou agora a desenvolver componentes, pode ter achado estranho eu dizer que usando OTA é possível criar Data Modules e Forms com propriedades e métodos especiais. Isso é totalmente natural. Começando agora a desenvolver componentes você ainda não sabe que criar um TForm ou um TDataModule herdado, como se fosse um componente qualquer simplesmente não funciona! O motivo disso é que o TForm e o TDataModule são componentes que precisam gerar código e arquivos ao serem incluídos no projeto.

Quando você inclui num projeto um TForm, por exemplo, 2 arquivos são criados nos bastidores: o arquivo de fonte .pas e o arquivo de recurso .dfm. Por este motivo não se pode tratar um TForm ou um TDataModule como componentes quaisquer. Eles são especiais porque precisam interagir com a IDE para serem criados corretamente.  Por este motivo, o mecanismo do OTA que gera TForms e TDataModules se chama Wizard

Resumidamente: não, não dá para tratar TForm e TDataModule como componentes ordinários simplesmente estendendo suas respectivas classes e esperando que eles funcionem como seus progenitores. É necessário usar OTA para isso. A interação com a IDE cria wizards (assistentes) que vão criar arquivos e fontes para você.

Arquivos anexados
ArquivoDescriçãoTamanhoModificado em
Download this file (zoow.zip)ZOOWExemplos de utilização básica do OTA (Mais Bonus Track)41 KB14/04/2017 às 15:45
e-max.it: your social media marketing partner
1http://docwiki.embarcadero.com/RADStudio/XE8/en/Extending_the_IDE_Using_the_Tools_API
Ajude nosso site visitando nossos patrocinadores!

Temos 96 visitantes e Nenhum membro online nos últimos 10 minutos (9.6 visitantes por minuto).