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