Inicialmente, este artigo mostrará como criar e configurar uma Class Library (DLL) utilizando o Microsoft Visual C# 2008. Após, será apresentado um exemplo de como instanciar esta classe no E3 e chamar seus métodos através de um script escrito no driver.
2) Criando o assembly .NET no Microsoft Visual C# 2008
No Microsoft Visual C# 2008, acesse o menu File >> New >> Project. O projeto a ser criado nesse exemplo é do tipo Class Library. Digite o nome do projeto, escolha o diretório e clique em OK (Figura 1).
Figura 1. Criando um novo projeto do tipo Class Library
Figura 2. Configurações do assembly
O projeto irá gerar automaticamente um arquivo Class1.cs com uma classe chamada Class1 já criada dentro do namespace TestAssembly. Nesse exemplo, será criado apenas um método que abre uma caixa de mensagem ao ser chamado.
O método MessageBox.Show será usado para mostrar a caixa de mensagem, assim, é necessário adicionar uma referência do Windows Forms ao projeto. No menu Project, clique em Add Reference, selecione o componente System.Windows.Forms e clique em OK.
O próximo passo é adicionar um novo método à classe. O método se chamará ShowMessage (sem nenhum parâmetro ou retorno) e irá criar uma MessageBox com a frase “Hello World!”.
namespace TestAssembly
{
public class Class1
{
public void ShowMessage()
{
System.Windows.Forms.MessageBox.Show(“Hello World!”);
}
}
}
3) Instanciando o objeto e chamando métodos através do script do driver
Com o arquivo DLL compilado, já é possível instanciar um objeto da classe Class1 via script. Adicione o driver VBScript ao projeto do E3 e acesse suas propriedades. Na aba VBScript, escreva o script para criar uma instância da classe Class1 e chamar o método ShowMessage ao iniciar o driver.
Figura 3. Configurações do driver VBScript
Dim obj
Sub OnStart()
Set obj = CreateDotNetObject(“C:\TestAssembly.dll”, “TestAssembly.Class1”)
obj.ShowMessage()
End Sub
Sub OnStop()
Set obj = Nothing
End Sub
Na função CreateDotNetObject, o primeiro parâmetro corresponde ao nome e ao caminho do arquivo que contém o assembly que define o tipo do dado (nesse caso, é o arquivo TestAssembly.dll). O segundo parâmetro corresponde ao nome do tipo de dado, incluindo o namespace (nesse exemplo, a classe Class1, que faz parte do namespace TestAssembly).
Após o objeto ser criado pelo retorno da função, é possível chamar o método ShowMessage.
Para mais informações sobre o funcionamento do driver e das funções disponíveis, consulte sua documentação.
4) Conclusão
Esta foi uma demonstração bem simples de como uma classe implementada em C# (utilizando o .NET Framework) pode ser instanciada no E3 através do driver VBScript.
Porém, é preciso ressaltar que esse recurso permite que o usuário desenvolva suas próprias classes de forma muito mais complexa aproveitando os recursos que o Framework oferece, e é aplicável, principalmente, a casos onde não seja possível realizar uma tarefa específica diretamente no E3.