Skip to main content

blur-boxes-containers

O que é esse novo recurso de declaração de variáveis inline (inline variables) do Delphi, surgido na versão Rio 10.3?

Em resumo, é a possibilidade de se declarar uma variável em qualquer linha do seu código. Ou seja, você pode declarar uma variável da forma a seguir, dentro do bloco begin..end:

procedure Test;
begin
var I: Integer;
I := 22;
ShowMessage (I.ToString);
end;

Muita gente já entendeu como esse recurso funciona, mas não entendeu por que ele é interessante. Neste artigo, vou mostrar essa nova funcionalidade com enfoque nas vantagens que ela traz.

actor-adult-businessman

A Embarcadero acabou de lançar uma nova versão do Delphi Rio (e consequentemente do Rad Studio e C++ Builder): a versão 10.3.2.

É uma atualização “menor” – ou seja, uma alteração no terceiro dígito do número de versão, de 10.3.1 para 10.3.2. Também significa que o codinome do produto ainda é “Rio”, e que os arquivos binários (leia-se DCU’s) são compatíveis com a versão anterior 10.3.1. Com isso, você não precisará recompilar os packages instalados no Delphi.

Por que então um artigo sobre isso? Em geral, atualizações menores contêm apenas pequenas correções e melhorias, porém não é o caso desta. Listo aqui duas novidades que pessoalmente considero significativas. Não custa lembrar que a Embarcadero recentemente publicou o Roadmap do Rad Studio – Maio de 2019 que lista o que eventualmente será incluído nas próximas versões “maiores” do Delphi. Agora, vamos às melhorias:

delphi-memory-leaks

Um memory leak (ou vazamento de memória) acontece quando sua aplicação aloca um espaço na memória e nunca mais o libera.

Como os memory leaks acontecem em Delphi

Em uma aplicação Delphi, espaços de memória são alocados e liberados o tempo todo. Muitas vezes isso é feito automaticamente pelo compilador ou pela RTL – por exemplo, ao alocar variáveis de tipos primitivos, parâmetros que são passados a funções, etc. – e não precisamos nos preocupar com isso.