Bem João,

Meu caso se enquadra mais na situação 1, pois tenho algumas estruturas 
bem simples e somente uma que seria com 2 campos dinâmicos, que 
contornei estipulando um valor fixo para o tamanho deles.
O problema que tive foi realmente para os campos strings de algumas das 
estrutras, que contornei alterando eles para matrizes estáticas e usando 
move e fillchar (parece até transmissão de pensamento, rsrsrs).
Não vejo no momento necessidade de implementa-las dentro de uma classe, 
mais que isso seria, para mim, uma peleia mui braba.


Joao Morais escreveu:
> 
> 
> Alexandre Rodrigues wrote:
>  > O que faço é carregar a(s) estrutura(s) dentro de objetos responsáveis
>  > por elas como variáveis privadas. Se qualquer outro objeto quiser
>  > acessar algumas das estruturas terá que fazer através das funções e
>  > propriedades desses objetos.
>  > Não é o melhor mas é o que conseguir fazer até o momento. Se tiver
>  > alguma outra dica, agradeço.
> 
> Há alguns fatores que devem ser levados em conta, como necessidade de
> reaproveitamento, quantidade de estruturas diferentes, quão estática é a
> estrutura, etc.
> 
> São três caminhos que eu seguiria:
> 
> 1. Caso a estrutura seja suficientemente estática, criaria um record
> simples que abra espaço para os meus dados. Arrays estáticos, tipos
> simples, e abusaria de move e fillchar para ganhar algum tempo.
> 
> 2. Se a estrutura for dinâmica (ou seja, os tamanhos de strings e das
> matrizes podem variar muito), eu optaria por implementar a tradução
> estrutura <-> blob em uma classe. Talvez fizesse uso de métodos virtuais
> para o read e o write, a fim de utilizar estas classes em algum
> algoritmo que trabalhe diretamente com o banco e evitar acoplamento.
> Depende de como é o restante da sua implementação.
> 
> 3. Aproveitar as classes de persistência e streaming do próprio Delphi.
> É questão de ver como que se comportam propriedades publicadas e com
> índices, que simulariam as suas matrizes.
> 
> Seja qual for o caminho, vai ser divertido.
> 
> Joao Morais
> 
> 

                
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/

Responder a