quinta-feira, 3 de abril de 2008

ClientDataSet: Heaven or hell?

Para todos os delpheiros de plantão, essa classe é com certeza a mais idolatrada (tanto que a microsoft copiou.. hehehe)

Um componente capaz de manter em memória um "micro bd", com indices, ordenação, agrupamento, etc.

Mas, apesar dos pesares, não é perfeito. Já encontrei alguns empecilhos com esse cara e de vez em quando, quando lembrar de algum, posto aqui.

1 - Em caso de erro de um reconcile erro, ele engole a exceção e passa direto como se nada tivesse acontecido. :)

2 - Aggregate fields: nunca tente interpretá-los como AsFloat. Sempre da problema. Faça um cast StrToFloat e trate valores como '' para conseguir o que quer.

3 - Utilizando o commandtext do componente: você pode passar parâmetros no commandtext e depois dar um fetchparams para criá-lo. Mas, se você troca o commandtext, dê um clear nos params da query senão da m#r#a!!


Bem, num lembro mais de um... Quando aparecer eu posto

quarta-feira, 2 de abril de 2008

Release management

Aproveitando a deixa de um colega de trabalho, vou postar aqui algumas coisas sobre Release Management.

Mas que diabo é isso?

Resumindo, é como você controla as versões (releases) do seu software.
Existem alguns métodos para isso. Por exemplo, lançamentos de betas e RCs (Release candidates) para o pessoal testar e quando tiver estável, lançar um versão final.

Outro jeito é lançar uma versão e depois SPs (Service Packs - eita Microsoft) ou updates para corrigir bugs.

Bem, seguem alguns links para os curiosos e um pdf.

http://en.wikipedia.org/wiki/Release_Management_method
http://en.wikipedia.org/wiki/Release_Management
http://www.becta.org.uk/tsas/docs/fits_release.pdf