Comunicação .NET e VB 6.0 – Parte I
Visual Studio.NET 2005
Olá pessoal, meu nome é Mauricio Junior. Irei mostrar nesse primeiro passo como usar códigos C#.NET dentro de uma aplicação VB 6.0. Criei um projeto do tipo Class Library com uma classe chamada CDados.cs.
Antes de começar segue a famosa frase criptografada e pronta para ser decifrada. O que conseguir decifrá-la primeiro ganhará um prêmio.
Nf nboeb f-nbjm dpn p ujuvmp tnbmmxjmmf
Bom, para começar irei mostrar como criar um projeto class library com o visual studio.net 2005. Cliquei no link da página inicial chamado Create Project e logo depois escolhi a opção Class Library. (Referência 1.1 e 1.2 – Class Libary)
Referência: 1.1 – Class Library
Cliquei no link que está em vermelho.
Referência: 1.2 – Class Library.
Na aba templates existem várias opções, porém a escolhida e já falado antes é a Class Library. Essa opção apenas gera uma dll no final da compilação podendo ser referenciada e usada em outros projetos.
Em seguida criei uma classe chamada CDados.cs. (Referência 1.3 – Class Library)
Referência: 1.3 – Class Library
Dentro da classe, acrescentei um método apenas para retornar um valor qualquer, do tipo string. (Referência 1.4 – Class Library)
[ComVisible(true)] public string TesteDados(string entrada) { return "TesteDados >> " + entrada; } |
Referência: 1.4 – Class Library.
Explicação:
É bem simples e fácil o desenvolvimento. Nada diferente do que sou acostumado, a não ser por uma linha descrita antes da classe.
[ComVisible(true)] |
Referência: 1.5 – Class Library.
Analisando a assinatura do método, o mesmo recebe uma string de entrada e retorna um valor do tipo string.
Antes da classe tenho que definir em duas linhas algumas coisas que podem me ajudar quando for usar com o outro aplicativo de outra linguagem como visual basic 6.0. (Referência 1.6 – Class Library)
[Guid("49C0145D-ABC4-4c0e-8640-CDA03BE8D733")] [ClassInterface(ClassInterfaceType.AutoDual)] public class CDados |
Referência: 1.6 – Class Library
Explicação:
Primeiramente defini um GUID para a classe, dessa forma não terei problemas quando registrá-la no usando o comando REGASM. Mas esse assunto será falado e explicado mais a frente. Para que o VB 6.0 consiga enxergar o que foi descrito dentro da classe, como método e função, são necessários colocar a linha de código. (Referência 1.7 – Class Library).
[ClassInterface(ClassInterfaceType.AutoDual)] |
Referência: 1.7 – Class Library
Lembre-se que se eu for usar algum tipo de dados e valores para retornar, é necessário referenciar uma dll chamada ADODB, clicando com o botão direito em cima da pasta referência.
Note como ficou toda classe depois de construída. (Referência 1.8 – Class Library)
using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Runtime.InteropServices; using System.Text; using ADODB; namespace SicoobDados2005 { [Guid("49C0145D-ABC4-4c0e-8640-CDA03BE8D733")] [ClassInterface(ClassInterfaceType.AutoDual)] public class CDados { [ComVisible(true)] public string TesteDados(string entrada) { return "TesteDados >> " + entrada; } } } |
Referência: 1.8 – Class Library
Bom, fico por aqui. No próximo passo mostrarei como configurar algumas coisas na classe e como usar com o VB 6.0.
Até a próxima.
Mauricio Junior
Sign up to our newsletter
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.