USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Add da coleção de uma classe.
Fabio-RSC
NITEROI
RJ - BRASIL
ENUNCIADA !
Postada em 02/02/2005 19:51 hs         
Estou com um pequeno problemão.
Criei minha Classe e vinculada a ela criei minha coleção de forma que ao instanciar eu possa acessar da seguinte forma:
MinhaClasse.Coleção(x)
Como na maioria das coleções do VB.
 
Minha coleção possui várias propriedades read/write que não pertencem a classe (só a coleção) e uma propriedade somente read.
O problema é que preciso declara o PROPERTY LET para que a função ADD da minha coleção escreva nesta propriedade mas não posso deixar que o usuário altere esta propriedade.
Alguém sabe como fazer isto?
 
Obrigado!
Fabio Carvalho.
 
 
 
   
Sandro
não registrado
ENUNCIADA !
Postada em 02/02/2005 20:56 hs   
Olá Fabio,
 
O que você deseja pode ser conseguido com uma variante da Property Let. Ao invés de declarar a propriedade como pública, você deverá declará-la como Friend. Assim:
 
Ao invés de fazer isso:
 
Public Property Let MinhaPropriedade(MeuValor as Variant)
 
Faça assim:
 
Friend Property Let MinhaPropriedade(MeuValor as Variant)
 
A Property Get deverá permanecer Public, para que o usuário possa consultar o seu valor. Quando você usa a cláusula Friend, você está dizendo para o compilador que apenas a parte do programa que manipula a coleção poderá escrever nela, não o usuário. Isso é usado normalmente quando se escreve controles ActiveX ou DLLs que poderão ser usadas em outros projetos e até mesmo por outros programadores.
 
um abraço,
Sandro.
   
Fabio-RSC
NITEROI
RJ - BRASIL
ENUNCIADA !
Postada em 03/02/2005 12:48 hs         
Olá Sandro,
Sempre sanandos as dúvidas sobre classe.
Chegeui a testar o FRIEND mas não funcionou como eu desejava. Será que é porque eu instanciava a classe no mesmo projeto onde eu criei a classe?
Para usar o FRIEND eu preciso encapsular a minha classe em uma DLL, por exemplo, para utilizar no meu aplicativo original?
 
Mais uma vez, obrigado pela ajuda!
   
Sandro
não registrado
Postada em 04/02/2005 23:13 hs   
Olá Fabio,
 
Realmente, como eu disse, o Friend faz com que apenas o projeto que você está trabalhando enxergue a propriedade, portanto, de dentro do mesmo projeto, o Friend não irá alterar em nada o seu programa. Mas, se você encapsular a sua classe em uma DLL ou OCX, aí as coisas funcionam corretamente.
Existe ainda uma outra forma de você testar sem ter que compilar. Clique no Menu File e selecione Add Project e crie um novo projeto que  irá trabalhar em conjunto com o outro. Isto é que se chama Grupo de Projetos, entenda isso como se você tivesse duas instâncias do VB trabalhando ao mesmo tempo, de forma que o fluxo de execução passa de um projeto para outro assim que a classe é instanciada, permitindo que seja feito o debug do projeto. Você pode compilar os projetos independentemente um do outro e pode ter vários projetos dentro de um mesmo grupo. Só não esqueça de definir qual é o projeto inicial (startup), clicando com o botão direito do mouse sobre o projeto que irá disparar a DLL e selecionando  Set as Startup.
 
um abraço,
Sandro.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página