Archive for August, 2008

Published by Joao Morais on 31 Aug 2008

Forms management tip

(portuguese)

From my point of view, one thing that is really missing for Delphi/Lazarus is a better application’s form management. Two problems: an independent public variable is used to control an instance, and the ‘please place everything within the form’ approach. The first one requires the programmer to either create the form at the start of the application and not destroy it anymore, or it requires the programmer to create the forms and keep track of object destruction insuring that no variable points to a destroyed object. The second, among other problems, requires that the first one works perfectly so that the communication between forms can work. Continue Reading »

Published by Joao Morais on 31 Aug 2008

Dica para gerenciamento de formulários

(english)

Ao meu ver, uma parte bem mal feita do Delphi/Lazarus é o gerenciamento de formulários da aplicação. Tanto o fato de usar uma variável pública independente para controlar a instância quanto a isca ‘jogue tudo no form’ trazem problemas. A primeira abordagem exige que o programador, ou crie os formulários no início da aplicação e não os destrua mais, ou exige que ele cuide para não deixar a variável apontar para um objeto destruído. A segunda abordagem, entre outros problemas, exige que a primeira funcione perfeitamente para que ocorra comunicação entre formulários. Continue Reading »

Published by Joao Morais on 23 Aug 2008

Ponteiros e alocação dinâmica

Tem um ditado que diz: Eu não sei, mas tenho o telefone de quem sabe. Trabalhar com ponteiros é muito parecido com isto, mas o ditado fica assim: Eu não sei, mas tenho o endereço de quem sabe. Continue Reading »

Published by Joao Morais on 16 Aug 2008

Decouple MVP and VCL with Interfaces.

(portuguese)

Contrary to some object oriented programming gurus, I was not much into interfaces. The first uses were under utilized, as just a memory manager assistant (interfaces in object pascal have reference counting maintained by the compiler, contrary to classes). Continue Reading »

Published by Joao Morais on 16 Aug 2008

Desacoplar MVP e VCL com Interfaces

(english)

Ao contrário de alguns astros da programação orientada a objetos, eu não era muito fã de interface. Os primeiros usos foram sub-utilizados, como mero auxiliar de gerenciamento de memória (interface em Object Pascal tem contagem de referência controlada pelo compilador, ao contrário de classes). Continue Reading »

Published by Joao Morais on 09 Aug 2008

do jmp às Interfaces - A história do acoplamento

No princípio era o jmp. E o call. E o ret. E os saltos condicionais. E com isto os heróicos programadores da época conseguiam criar laços e blocos cuja execução dependia de alguma condição ter sido satisfeita. E a máquina começou a pensar. Um label indicava ao assembler aonde determinada rotina estava começando, e o assembler transformava aquele label em um endereço de memória. Entre o label e o ret estava o que conhecemos hoje por procedure. Continue Reading »