Pergunta

Alguma dica sobre como criar uma matriz global para usar em um projeto Realbasic usando 'Adicionar Propriedade'? Na foto abaixo está minha tentativa.

http://i17.photobucket.com/albums/b52/orubap/basic.jpg (editar: link morto)

O uso da Cammodel (1) compila e executa, mas não retorna nada. O uso da Cammodel (4) lança um erro fora dos limites, então acho que estou na metade do caminho.

Sugestões?

Foi útil?

Solução

Embora o código compila, essa não é uma maneira válida de inicializar uma matriz. No mínimo, não é mencionado em nenhum lugar dos manuais. Eu diria que o compilador está falhando silenciosamente nisso, em vez de sinalizar -o como um erro. Você terá que colocar os valores por meio de um método init, digamos no app.open. Além disso, não se esqueça de que os índices de matriz são baseados em 0, mesmo durante a inicialização. Então, seguindo o código que você deu declarar a propriedade da matriz por três valores:

camModel(2) as String

E então no evento app.open:

camModel(0) = "Nikon"
camModel(1) = "Sony"
camModel(2) = "Philips"

No entanto, se fosse eu fazendo isso, eu declararia a propriedade assim:

camModel(-1) as String

e então preencha com a função da matriz:

camModel = Array("Nikon", "Sony", "Philips")

Dessa forma, você pode adicionar mais modelos posteriormente e não precisar com os limites da matriz a cada vez.

Outras dicas

Se você deseja acessar uma variável global usando a função "Adicionar propriedade", basta criar um novo módulo. Você pode adicionar uma propriedade ao módulo que pode ser acessado de qualquer lugar.

Para manter o seu espaço para o nome mais limpo, você pode restringir o acesso à propriedade. Global permitirá que você acesse a propriedade apenas usando YourVariableName, mas você também pode alterar as permissões para proteger (o sinal do triângulo amarelo), para que você precise digitar YourModuleName.YourVariableName Para acessar a variável. Mantém as coisas um pouco mais limpas.

Assim, você pode criar facilmente uma matriz global criando o módulo, depois clicando em Adicionar propriedade e declarar YourArrayName(-1) Como Integer por exemplo. Você pode adicionar, remover e modificar qualquer um dos itens da matriz usando as funções de matriz padrão (ubound, anexar, remover etc.).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top