Nesta seção, vamos praticar. Primeiro crie um objeto COM, depois use-o e, finalmente, pense em melhorias.
Primeiro execute as duas etapas a seguir:
Execute o Visual Basic; selecione o tipo de projeto "StandardEXE"; como os objetos COM são baseados em classes, as classes são na verdade pacotes, assim como o código do módulo. então:
Selecione "PRoject"->"AddClassModule"; quando a caixa de diálogo correspondente aparecer, selecione "'ClassModule" e clique no botão "Open".
Desta forma, é exibido um formulário na área de trabalho, assim como a Classe1 contida no Projeto1.
A seguir, altere o nome da classe vazia:
Na janela de propriedades da classe, altere a propriedade Name da classe para CDog.
Deve-se observar que, para fins de distinção, cada nome de objeto possui um prefixo correspondente, por exemplo, o objeto TextBox é precedido por "txt", o Form é precedido por "frm" e a classe pode ser precedida por letras maiúsculas letra "C" ou a letra minúscula "cls" ", mas a primeira é usada aqui.
Vamos adicionar algum código para testá-lo:
Na seção de declaração geral da classe CDog, adicione a declaração da variável:
Em seguida, abra o Form1;
Adicione um botão de comando ao formulário;
Abra a janela de código e adicione o seguinte código ao botão de comando:
Vamos explicar o significado do código acima:
Esta linha de instrução é usada para notificar o Visual Basic para definir um espaço de bits para o objeto CDog. No entanto, o objeto não pode ser usado neste momento e deve aguardar até a próxima instrução:
É usado para criar instâncias do CDog. Isso significa que o modelo MyDog anteriormente vazio se torna um objeto CDog que agora pode ser usado.
A primeira linha do código acima é usada para definir a variável Name de MyDog, e a segunda linha de instruções é usada para exibir o conteúdo da variável na caixa de diálogo da mensagem. afinal:
Usado para simplesmente esvaziar o objeto MyDog.
Pressione F5 para executar e testar.
Que tal? Mas, ao mesmo tempo, não podemos deixar de perguntar: qual é a diferença entre módulos padrão e módulos de classe? Vejamos novamente o exemplo a seguir:
Altere o código do botão de comando para:
Diferente do código anterior, o código aqui na verdade define dois objetos, MyDog e MyDog2, que são dois objetos independentes baseados em CDog.
Pressione F5 para executar e testar.
Qual foi o resultado? Duas caixas de diálogo aparecem desta vez? Um diz “BillyMoore” e o outro diz “SadieMoore”.
Exceto o Nome, cada objeto definido acima não possui nenhum atributo real, portanto o seguinte processo será adicionado:
Abra a Class1 anterior;
Declare as seguintes variáveis públicas:
Abra o Form1 anterior;
Altere o código do botão de comando para:
O código é semelhante ao anterior, exceto que a variável Idade é usada aqui.
Pressione F5 para executar e testar.
Duas caixas de diálogo de mensagens deverão aparecer mostrando o conteúdo de nome e idade.
Agora tente definir o valor da idade de um dos objetos para 1.000 ou 30.000. Veja como ficou? O programa ainda funciona normalmente porque o valor máximo da variável inteira definida pode chegar a 32.767, mas o cachorro real (Dog) não tem 30.000 anos.
Então, como essa situação deve ser tratada?
->