wiki.pressobjects.org
br/Main Page - PressObjects
http://wiki.pressobjects.org/br/Main_Page
Bem vindo a home page do wiki do PressObjects SDK. O principal objetivo destas páginas wiki é prover um meio fácil de criar e aperfeiçoar a base de conhecimento do projeto PressObjects. Antes de iniciar alteração ou tradução de algum artigo, veja como editar o wiki do PressObjects. Aonde você encontrará dicas sobre MediaWiki, como este wiki foi configurado e como as páginas deste wiki estão sendo organizadas. Alguns artigos principais sobre o projeto. Um projeto estilo 'Hello World'.
blog.joaomorais.com.br
Decouple MVP and VCL with Interfaces. | Joao Morais
http://blog.joaomorais.com.br/2008/08/16/mvp-with-interfaces.html
Decouple MVP and VCL with Interfaces. August 16, 2008. 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). TIDEIntf = class(TObject) Public procedure ReadText(.); virtual; abstract; procedure SaveText(.); virtual; abstract; end;. This is a very simple example in which interface can be used instead of t...
blog.joaomorais.com.br
Object Pascal | Joao Morais
http://blog.joaomorais.com.br/category/programacao/objectpascal
Category Archives: Object Pascal. Objetos com contagem de referência. September 6, 2008. Imagine um data module, que por motivo de economia de memória é criado e destruído com a aplicação em execução. Imagine este data module sendo referenciado por mais de um formulário ao mesmo tempo. Como garantir que o data module será destruído apenas quando nenhum formulário estiver apontando para ele? Continue reading Objetos com contagem de referência. Dica para gerenciamento de formulários. August 31, 2008. Entre...
blog.joaomorais.com.br
Desacoplar MVP e VCL com Interfaces | Joao Morais
http://blog.joaomorais.com.br/2008/08/16/mvp-com-interfaces.html
Desacoplar MVP e VCL com Interfaces. August 16, 2008. 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). TIDEIntf = class(TObject) public procedure ReadText(.); virtual; abstract; procedure SaveText(.); virtual; abstract; end;. Esta desvantagem tornou-se mais evid...
blog.joaomorais.com.br
Joao Morais | Object Pascal e ferramentas de programação com Arte | Page 2
http://blog.joaomorais.com.br/page/2
Tipos de métodos de uma classe. November 30, 2007. Classe é um tipo de dado que aponta para um objeto em memória. No entanto, diferente de um ponteiro comum, as classes possuem uma sintaxe rica e que tornam o trabalho com. Bem mais prático e produtivo. Esta mensagem aborda os tipos de métodos de uma classe. Continue reading Tipos de métodos de uma classe. Armadilhas com a falta de parênteses. November 17, 2007. Toda expressão lógica que possui algum dos operadores lógicos. November 3, 2007. Você está tra...
blog.joaomorais.com.br
Dica para gerenciamento de formulários | Joao Morais
http://blog.joaomorais.com.br/2008/08/31/dica-gerenciamento-form.html
Dica para gerenciamento de formulários. August 31, 2008. Quanto a segunda abordagem não há muito o que fazer. Ou convive-se com a limitação ou escreve-se um novo framework para contorná-la. Agora, para manter a variável pública atualizada, o programador pode beneficiar-se de pequenos truques como o que eu vou citar aqui. TBaseForm = class(TForm) public destructor Destroy; override; class procedure Execute(var AForm; AModal: Boolean = False); end;. A implementação dos métodos fica assim:. Destructor TBase...
blog.joaomorais.com.br
Ponteiros e alocação dinâmica | Joao Morais
http://blog.joaomorais.com.br/2008/08/23/ponteiros.html
Ponteiros e alocação dinâmica. August 23, 2008. 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. Alguns tipos de variáveis são chamadas de. Violação de acesso à memória. Os novos tipos de dados do Object Pascal visam transformar ponteiros em algo mais simples, mais fácil de usar, ainda mais útil, e por vezes são tratados de forma tão transparente que muitas pes...
blog.joaomorais.com.br
Como remover vazamentos de memória | Joao Morais
http://blog.joaomorais.com.br/2008/02/06/remover-vazamento-de-memoria.html
Como remover vazamentos de memória. February 6, 2008. Ferramentas como FastMM melhoram o desempenho de aplicações que utilizam muita alocação dinâmica, e de quebra ainda relata se a aplicação está deixando vazamentos de memória. Agora saber que a aplicação tem vazamento de memória é fácil, no entanto, dependendo do tamanho do projeto, torna-se mais difícil determinar aonde ela foi alocada. Baixe o MemCheck aqui. Logo após o begin, coloque uma chamada à procedure MemChk;. Dê um build all no projeto. Eu ch...
blog.joaomorais.com.br
OO em Geral | Joao Morais
http://blog.joaomorais.com.br/category/programacao/oo-geral
Category Archives: OO em Geral. Do jmp às Interfaces – A história do acoplamento. August 9, 2008. Construindo um interpretador orientado a objetos. February 10, 2008. Outro dia precisei colocar fórmula em um dos sistemas que desenvolvo, para que o usuário tenha mais liberdade para informar como um custo deva ser calculado. É permitido que ele faça algo como. 0012 * 66 * 96 * Chapas / FormatoImpressao. Tipos de métodos de uma classe. November 30, 2007. Modelos Relacional e Orientado a Objetos. O que Objec...
blog.joaomorais.com.br
do jmp às Interfaces – A história do acoplamento | Joao Morais
http://blog.joaomorais.com.br/2008/08/09/do-jmp-as-interfaces.html
Do jmp às Interfaces – A história do acoplamento. August 9, 2008. E então nascia a linguagem de alto nível. E os whiles. E os fors. E os ifs. E com isto os saltos condicionais tornaram-se mais humanos e transformaram-se em blocos quase compreensíveis. O label deu lugar a um cabeçalho com informações de passagem de parâmetro e o ret deu lugar à declaração do final daquele bloco. Nascia também a procedure, ou function, caso retorne algum valor. O enfraquecimento do acoplamento de implementação aumentou o u...