CRIANDO CLASSE NO VB-6

KARY92 08/04/2012 06:53:13
#399313
Gente...

Estou aprendendo a criar Classes no VB-6, já elaborei algumas funções e tudo...só tenho dúvida se é preciso iniciar alguma coisa na [Ô]Sub Main()[Ô], e se realmente é preciso criar a [Ô]Sub Main()[Ô].

Outra dúvida é sobre as propriedades da classe... como configurá-las corretamente:


Obrigada !
NETMANIA 08/04/2012 13:32:42
#399318
Resposta: Não é necessário.
Você pode criar os métodos conforme as suas necessidades, lembrando que Sub para que não retornam valores e funcion para que retornam valores.
ROBIU 08/04/2012 14:41:17
#399320
Resposta escolhida
Uma classe pode ser chamada de um evento, de um módulo, de um usercontrol, etc. Não é necessário criar um módulo com uma Sub Main() para usar uma classe. Para usá-la você faz assim:

Dim USoClasse as New NomeClasse

ou

Public UsoClasse = NomeClasse
Set UsoClasse=New NomeClasse


Neste exemplo, UsoClasse é uma variável Instânciada e vai ter todas as funções da Classe.

Criando Classes no Visual Basic 6.0

Pondo em prática a Programação orientada a objetos

Você pode cliar classes de duas formas:

1 - ActiveXDll - As classes desse tipo geralmente são para funções comuns à vários projetos. Por exemplo, eu criei uma uma classe desse tipo para uma Msgbox personalizada. Veja aqui minha MSGBOX E IMPUTBOX COM SKIN. Esse projeto compilado torna-se arquivo dll. Para usá-lo precisamos fazer referências a esta dll e usar em qualquer projeto .exe. Então esse tipo de projeto não é executado em si mesmo, mas chamado de outros tipos de projetos.
2 - As classes que são criadas de dentro do Standard EXE - São classes específicas para o projeto em que está inserida e não poderá ser chamada de outro projeto. Ela é compilada dentro do .exe.

Propriedades:
DataBindingBehavior e DataSourceBehavior São para classes de dados:VB - Criando Classes para gerenciar dados
http://msdn.microsoft.com/en-us/library/aa234190%28v=vs.60%29.aspx
VB - Criando Classes para gerenciar dados

http://msdn.microsoft.com/pt-br/library/7zzxk2t0%28v=vs.90%29.aspx
http://scriptbrasil.com.br/forum/index.php?showtopic=44618

http://www.macoratti.net/com_vb.htm
http://www.lula.pro.br/artigo.asp?codigo=20&autor=Magico

http://msdn.microsoft.com/en-us/library/aa268076%28v=vs.60%29.aspx


http://www.macoratti.net/vbadocls.htm




KARY92 08/04/2012 17:46:21
#399325
Obrigada meninos !

Entendí partes... dúvida no ponto em que o Macoratti fala sobre [Ô]Private Sub Class_Initialize()[Ô] e [Ô]Private Sub Class_Terminate()[Ô]... tenho de criar esses eventos ou é opcional ???
não necessito setar nenhum valor padrão nas variáveis, então posso deixar esses eventos de lado ?!

Minha DLL está ok, porém tenho de fazer assim para funcionar:

Dim cl As New myClass.ModuloConfig


para a partir daí usar as funções que estão dentro da biblioteca...

se faço:

Dim cl As New myClass


Não tenho acesso a nenhuma função dela...
é normal ???
ROBIU 08/04/2012 18:16:10
#399330
Citação:

Dim cl As New myClass.ModuloConfig


é porque dentro da Dll pode haver várias classes, então vai precisar especificar que classe vai usar. Sua dll pode implementar outra classe além da ModuloConfig.

Citação:

[Ô]Private Sub Class_Initialize()[Ô] e [Ô]Private Sub Class_Terminate()[Ô].


Estes eventos são mas usados em classes de dados. Nos forms, por exemplo, existem vários eventos que usamos conforme a necessidade do projeto. Não é necessário para uma classe funcionar.
Citação:

não necessito setar nenhum valor padrão nas variáveis, então posso deixar esses eventos de lado ?!


Sim, pode.



Tópico encerrado , respostas não são mais permitidas