>Hilmar,
>
>Desculpe-me. Não expressei muito bem a minha pergunta, mas voce brilhantemente conseguiu esclarecer a minha duvida.
>
>Então eu não seria um "anti-OOP" se lá no começo da aplicação eu utilizasse algo do tipo :
>
>
>PUBLIC oie
>oie = CREATEOBJECT("relation")
>oie.AddProperty("teste","abc")
>
>
>e de dentro dos formulários eu utilizasse o oie.teste
>
>Isso seria OOP puro e seguindo todas as "práticas recomendadas" ?
Eu acho que sim. A idea é reducir o número de variáveis públicas, e isso é precissamente o que o senhor está começando a fazer.
Note que um objeto pode ter propiedades de tipo array.
Assim, por exemplo, um "application object" poder ter (como propiedade, claro) um array, com um elemento para cada formulario aberto.
Otras propiedades que podería guardar no application object sao: O nome de login de usuario; o nivel do usuario; uma lista de Toolbars abertos antes de entrar à aplicaçao (para fechar cuando entrar, y abrir depois de sair); varias preferéncias do usuario (que pode obter da tabela de usuarios); etc.
Obviamente pode usar mais de uma variável pública, mais deve tentar manter reduzido o número de elas.
Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)