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/