fpWeb: Verificando Vazamentos de Memória

A linguagem Object Pascal, assim como C ou C++, não possui Garbage Collector para liberar os objetos e recursos da memória automaticamente. Pode ser difícil ter 100% de certeza que todos os objetos estão sendo liberados (manualmente) pelo código. Mas, se algum objeto não for liberado, ocorrerá um vazamento de memória.

Continue →

Construindo uma Aplicação Básica com fpWeb

As vezes, tudo que precisamos é uma aplicação “Alô Mundo”.

Continue →

Desenvolvimento Web com fpWeb Framework

Durante anos, o desenvolvimento Web no Delphi e Lazarus sempre seguiram o antigo padrão Web Broker. Felizmente, estamos vivendo uma nova fase no ambiente Object Pascal.

Continue →

Encapsulamento

O Encapsulamento é um dos pilares da Orientação a Objetos. Mas você sabe o que realmente significa esse conceito?

Continue →

Classes Amigas

Classes Amigas tem acesso ao estado (privado) de seus objetos. Apesar dessa prática ser entendida por muitos desenvolvedores como uma quebra do encapsulamento, na verdade ela pode até aprimorá-lo.

Continue →

A Declaração WITH-DO Perfeita

A utilização do WITH-DO pode deixar o código mais simples de ler, pois haverá menos declarações, atribuições e inicializações de variáveis. No entanto, a sintaxe atual não é perfeita. Dependendo do seu uso, o benefício pode ser o inverso.

Continue →

A função Supports pode ser traiçoeira

Quando você se acostuma a utilizar somente instancias de interfaces, pode ser difícil entender alguns erros em tempo de execução, utilizando instâncias de classes com suporte a interfaces.

Continue →

Assertions é uma boa prática

Assertions auxiliam o programador no desenvolvimento e depuração do código, sendo a primeira linha de defesa contra bugs.

Continue →

Construtores Virtuais

A linguagem Object Pascal possui uma feature que não existe em nenhuma outra linguagem mainstream do mercado.

Continue →

Listas Genéricas, sem Generics

É possível utilizarmos listas genéricas, com checagem de tipo, mas sem o uso da sintaxe com Generics?

Continue →

Namespaces Inteligentes

Na minha opinião, a implementação atual de Namespaces no Delphi poderia ser muito mais inteligente, simples e sem ambiguidades.

Continue →

Interfaces COM vs. CORBA

Existem dois tipos de Interfaces no Free Pascal definidos como COM e CORBA. No Delphi temos apenas o tipo COM. Mas será que existem vantagens ao utilizar o tipo CORBA?

Continue →

Versões Antigas dos Compiladores

A primeira versão do Delphi data de 1995, após o Turbo Pascal,enquanto o compilador Free Pascal é de 1993.

Estamos em 2018 agora. Será que vale a pena manter seu código executando nas versões antigas do compilador?

Continue →

Objetos Complexos

Um Objeto não é apenas uma instância de uma Classe. Ele pode conter instâncias (quase) infinitas de diferentes Classes combinadas.

Continue →

O Procedimento Exit

Todos os programadores Pascal conhecem o procedimento Exit() desde as primeiras versões dos compiladores. Mas será que todos sabem utilizá-lo corretamente?

Continue →