{"id":324,"date":"2019-03-25T17:30:18","date_gmt":"2019-03-25T20:30:18","guid":{"rendered":"http:\/\/xexeu.elipse.com.br\/pt\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/"},"modified":"2020-06-19T17:11:49","modified_gmt":"2020-06-19T20:11:49","slug":"utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3","status":"publish","type":"post","link":"https:\/\/kb.elipse.com.br\/en\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/","title":{"rendered":"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3."},"content":{"rendered":"<p align=\"justify\"><span style=\"font-family: Tahoma;\"><strong>1) Introdu\u00e7\u00e3o<\/strong><\/span><\/p>\n<p>Visando otimizar o reuso de c\u00f3digo existente e a integra\u00e7\u00e3o com bibliotecas j\u00e1 desenvolvidas pelo integrador, o Elipse E3 permite a utiliza\u00e7\u00e3o de bibliotecas criadas em Visual Basic ou em ferramentas externas, portadas utilizando a tecnologia COM de maneira simples e acess\u00edvel a qualquer programador VB. No exemplo aqui descrito, utilizaremos o Visual Studio 2005, mas esse procedimento pode ser feito tamb\u00e9m com classes e fun\u00e7\u00f5es desenvolvidas em outras ferramentas VB da Microsoft, mais antigas, sempre utilizando a tecnologia COM.<\/p>\n<p>O c\u00f3digo-fonte utilizado neste artigo pode ser encontrado nos\u00a0anexos deste documento.<\/p>\n<p><strong>2) Criando bibliotecas compat\u00edveis com o E3<\/strong><\/p>\n<p>Para utilizar bibliotecas j\u00e1 existentes, \u00e9 necess\u00e1rio fazer pequenas altera\u00e7\u00f5es nestas de maneira a transform\u00e1-las em bibliotecas COM. Uma biblioteca COM difere de uma biblioteca normal em dois pontos importantes: elas precisam ser registradas no sistema em que est\u00e3o sendo chamadas e precisam implementar um determinado conjunto de fun\u00e7\u00f5es de acesso padr\u00e3o. Felizmente, isso tudo \u00e9 feito automaticamente no Visual Studio 2005, e de maneira simples tamb\u00e9m nas vers\u00f5es anteriores dessa ferramenta. Para realizar esse procedimento, basta adicionar alguns par\u00e2metros e cabe\u00e7alhos ao projeto.<\/p>\n<p>Para criar uma biblioteca COM no Visual Studio, de maneira simples e utilizando Visual Basic, indicamos o artigo Walkthrough: creating COM objects with Visual Basic 2005, dispon\u00edvel no site MSDN. Este documento da Microsoft explica como criar um projeto compat\u00edvel com a interface COM e como fazer com que suas classes gerem objetos COM.<\/p>\n<p>O restante deste artigo considera que as bibliotecas j\u00e1 foram adaptadas ao modelo COM, e procedimento an\u00e1logo pode ser utilizado em bibliotecas COM criadas em outras linguagens de programa\u00e7\u00e3o.<\/p>\n<p>Para registrar bibliotecas COM, existem duas maneiras, cada uma utilizada para um caso diferente. No exemplo fornecido neste artigo, a biblioteca COM \u00e9 gerada utilizando o .NET Framework, e cont\u00e9m extens\u00f5es .NET, por isso ela deve ser registrada de maneira diferente das bibliotecas COM convencionais. Deve ser registrada utilizando o aplicativo regasm, inclu\u00eddo no .NET Framework 2.0, fornecido pela Microsoft, e deve ser armazenada no mesmo diret\u00f3rio em que estiver o execut\u00e1vel que a acessar\u00e1, por exemplo, C:\\Program Files\\Elipse E3\\Bin; ou ser armazenada na GAC (Global Assembly Cache), mas essa segunda op\u00e7\u00e3o envolve assinar a biblioteca com um nome forte. Para usu\u00e1rios que forem desenvolver objetos COM sem extens\u00f5es .NET, deve-se registrar esses objetos utilizando a ferramenta regsvr32, fornecida junto com o Microsoft Windows. Veja mais informa\u00e7\u00f5es sobre a utiliza\u00e7\u00e3o do regasm em um artigo da Microsoft denominado Assembly Registration Tool, na se\u00e7\u00e3o Refer\u00eancias.<\/p>\n<p><strong>3) Inserindo objetos COM no E3<\/strong><\/p>\n<p>Para utilizar um objeto COM no E3, basta criar um tag interno, associ\u00e1-lo com uma biblioteca COM registrada no sistema e acessar essa biblioteca atrav\u00e9s desse tag. Veremos agora, em um exemplo passo a passo, como essa associa\u00e7\u00e3o pode ser feita de maneira simples e r\u00e1pida.<\/p>\n<p>Antes de realizar os passos a seguir, certifique-se que a biblioteca COM foi registrada.<\/p>\n<p>1) Abra o Studio e crie uma nova aplica\u00e7\u00e3o.<br \/>\n2) No Organizer, clique com o bot\u00e3o direito do mouse em <strong>Dados<\/strong>, selecione <strong>Inserir<\/strong><span style=\"font-weight: bold;\">&#8212;<\/span><strong>Panel<\/strong>, e adicione um tag interno.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura1.PNG\" alt=\"\" width=\"455\" height=\"268\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 1<\/span>: Inserindo um tag interno<\/span><\/div>\n<p>3) Abra esse tag interno, selecione a aba de <strong>Scripts<\/strong>, e, no evento <em>OnStartRunning()<\/em>, insira o script de associa\u00e7\u00e3o.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura2.PNG\" alt=\"\" width=\"542\" height=\"482\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 2<\/span>: Selecionando a aba Scripts<\/span><\/div>\n<p align=\"justify\"><span style=\"font-family: Tahoma;\">\u00a0<\/span><\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura3.PNG\" alt=\"\" width=\"550\" height=\"264\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 3<\/span>: Script da associa\u00e7\u00e3o com o objeto COM<\/span><\/div>\n<p>Esse script associar\u00e1 o tag a uma classe da biblioteca COM, criando um objeto. Neste caso, temos uma biblioteca chamada <span style=\"font-weight: bold;\">ComLibrary.dll<\/span>, contendo a classe <em>VBClass<\/em>, que \u00e9 associada ao tag.<\/p>\n<p>Abaixo, temos o c\u00f3digo do script:<\/p>\n<pre style=\"text-align: left; color: #000000; font-family: Courier New;\">Sub TagInterno1_OnStartRunning()\r\nValue = CreateObject(\"ComLibrary.VBClass\")\r\nEnd Sub<\/pre>\n<p align=\"justify\"><span style=\"font-family: Tahoma;\">Dessa maneira, temos a associa\u00e7\u00e3o pronta.<\/span><\/p>\n<p><strong>4) Acessando o objeto COM<\/strong><\/p>\n<p>Depois de inserido o objeto, precisamos de meios para acessar os seus m\u00e9todos. Este exemplo mostra como isso \u00e9 poss\u00edvel.<\/p>\n<p>Consideraremos, para este exemplo, que temos na classe<em> ComLibrary<\/em>.<em>VBClass<\/em> um m\u00e9todo <em>AddValues(Integer Valor1, Integer Valor2)<\/em>, que recebe dois valores e retorna a soma deles.<\/p>\n<p>Adicionaremos tamb\u00e9m uma interface gr\u00e1fica para testar a associa\u00e7\u00e3o:<\/p>\n<p>1) Crie na tela inicial uma interface gr\u00e1fica para a inser\u00e7\u00e3o de dois valores. A sugest\u00e3o \u00e9 utilizar <em>Labels<\/em> para indicar onde entram os valores, <em>TextBoxes<\/em> para inserir os valores de entrada, e um bot\u00e3o que realizar\u00e1 a soma das entradas.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura4.PNG\" alt=\"\" width=\"538\" height=\"450\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 4<\/span>: Interface gr\u00e1fica para usar objetos COM<\/span><\/div>\n<p>2) D\u00ea um clique duplo sobre o bot\u00e3o que realiza a soma e edite o script desse bot\u00e3o para o evento <em>Click()<\/em>. Adicione o script que executa o m\u00e9todo da soma do objeto COM e mostra o resultado em uma caixa de di\u00e1logo.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura5.PNG\" alt=\"\" width=\"550\" height=\"194\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 5:<\/span> Script da associa\u00e7\u00e3o com objeto COM<\/span><\/div>\n<p>O c\u00f3digo utilizado:<\/p>\n<pre style=\"text-align: left; color: #000000; font-family: Courier New;\">Sub CommandButton1_Click()\r\nset comObj = Application.GetObject(\"Dados.TagInterno1\").Value\r\nMsgBox comObj.AddValues(Parent.Item(\"TextBox1\").Value, Parent.Item(\"TextBox2\").Value)\r\nEnd Sub<\/pre>\n<p align=\"justify\"><span style=\"font-family: Tahoma;\">Analisando o c\u00f3digo, temos uma associa\u00e7\u00e3o do <em>TagInterno1<\/em> a uma vari\u00e1vel local. Como esse tag aponta para o objeto COM, temos que a vari\u00e1vel <em>comObj<\/em> representa esse objeto diretamente e podemos invocar seus m\u00e9todos, como ocorre na linha seguinte, onde os valores contidos nos dois campos de entrada s\u00e3o somados e o resultado atribu\u00eddo ao campo de sa\u00edda.<\/span><\/p>\n<p>Na figura seguinte mostramos o resultado de uma execu\u00e7\u00e3o deste projeto, mostrando os campos de entrada e a <em>MessageBox<\/em> de sa\u00edda.<\/p>\n<p>&nbsp;<\/p>\n<div style=\"text-align: center;\"><span style=\"font-family: Tahoma;\"><img loading=\"lazy\" title=\"\" src=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura6.PNG\" alt=\"\" width=\"426\" height=\"439\" align=\"bottom\" border=\"0\" \/><\/span><br \/>\n<span style=\"font-family: Tahoma; font-size: xx-small;\"><span style=\"font-weight: bold;\">Figura 6<\/span>: Execu\u00e7\u00e3o deste exemplo<\/span><\/div>\n<p><strong>5) Considera\u00e7\u00f5es Finais<\/strong><\/p>\n<p>A utiliza\u00e7\u00e3o de bibliotecas externas no E3 permite uma maior personaliza\u00e7\u00e3o do supervis\u00f3rio em desenvolvimento, possibilitando um controle sobre o processo que melhor se adapte ao desenvolvimento. Outro ponto importante \u00e9 o encapsulamento de classes e fun\u00e7\u00f5es em bibliotecas, possibilitando a abstra\u00e7\u00e3o de procedimentos para o integrador e a reutiliza\u00e7\u00e3o destas bibliotecas.<\/p>\n<p>Tratando-se de bibliotecas <em>COM<\/em>, isso representa uma grande vantagem em termos de programa\u00e7\u00e3o, pois torna compat\u00edvel com o E3 uma tecnologia amplamente utilizada e recomendada pela Microsoft, permitindo o desenvolvimento de bibliotecas separadas do supervis\u00f3rio, mas amplamente compat\u00edveis. Essa poss\u00edvel separa\u00e7\u00e3o de componentes facilita a organiza\u00e7\u00e3o de projetos mais complexos, pois permite dividir em m\u00f3dulos as funcionalidades implementadas.<\/p>\n<p>Com esse modelo, podemos ter servidores <em>COM<\/em> servindo o supervis\u00f3rio e qualquer outro programa que necessite ou deseje interagir com esses servidores, podendo ter sua manuten\u00e7\u00e3o e desenvolvimento em separado.<\/p>\n<p>Pode-se concluir que o procedimento aparentemente simples deste artigo representa uma ferramenta de programa\u00e7\u00e3o muito \u00fatil no desenvolvimento de projetos modulares utilizando o E3.<\/p>\n<p><strong>6) Refer\u00eancias<\/strong><\/p>\n<p>Microsoft Corporation. Assembly Registration Tool (Regasm.exe).<br \/>\nDispon\u00edvel em <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/tzat5yw6%28VS.80%29.aspx\">http:\/\/msdn2.microsoft.com\/en-us\/library\/tzat5yw6(VS.80).aspx<\/a>.<\/p>\n<p>Microsoft Corporation. Walkthrough: creating COM objects with Visual Basic 2005.<br \/>\nDispon\u00edvel em <a href=\"http:\/\/msdn2.microsoft.com\/en-us\/library\/x66s8zcd%28VS.80%29.aspx\">http:\/\/msdn2.microsoft.com\/en-us\/library\/x66s8zcd(VS.80).aspx<\/a>.<\/p>\n<h3 align=\"justify\">Anexos:<\/h3>\n<p><a href=\"\/wp-content\/uploads\/2019\/03\/E3-Project.zip\">E3-Project<\/a><br \/>\n<a href=\"\/wp-content\/uploads\/2019\/03\/ComLibrary.zip\">ComLibrary<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visando otimizar o reuso de c\u00f3digo existente e a integra\u00e7\u00e3o com bibliotecas j\u00e1 desenvolvidas pelo integrador, o Elipse E3 permite a utiliza\u00e7\u00e3o de bibliotecas&#8230;<br \/>\nAutor<br \/>\nAlexandre Cabral Botelho<\/p>\n","protected":false},"author":26,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0},"categories":[610],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3. - Elipse Knowledgebase<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.\" \/>\n<meta property=\"og:description\" content=\"Visando otimizar o reuso de c\u00f3digo existente e a integra\u00e7\u00e3o com bibliotecas j\u00e1 desenvolvidas pelo integrador, o Elipse E3 permite a utiliza\u00e7\u00e3o de bibliotecas... Autor Alexandre Cabral Botelho\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\" \/>\n<meta property=\"og:site_name\" content=\"Elipse Knowledgebase\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/elipsesoftware\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-25T20:30:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-19T20:11:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura1.PNG\" \/>\n<meta name=\"author\" content=\"Alexandre B. Corr\u00eaa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alexandre B. Corr\u00eaa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\"},\"author\":{\"name\":\"Alexandre B. Corr\u00eaa\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/a4b2e51e032a9f1b7871b80269b1d46a\"},\"headline\":\"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.\",\"datePublished\":\"2019-03-25T20:30:18+00:00\",\"dateModified\":\"2020-06-19T20:11:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\"},\"wordCount\":1139,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"articleSection\":[\"Scripts\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\",\"url\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\",\"name\":\"[:pt]Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.[:] - Elipse Knowledgebase\",\"isPartOf\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#website\"},\"datePublished\":\"2019-03-25T20:30:18+00:00\",\"dateModified\":\"2020-06-19T20:11:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/kb.elipse.com.br\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kb.elipse.com.br\/#website\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"name\":\"Elipse Knowledgebase\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kb.elipse.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kb.elipse.com.br\/#organization\",\"name\":\"Elipse Software\",\"url\":\"https:\/\/kb.elipse.com.br\/\",\"sameAs\":[\"http:\/\/www.facebook.com\/elipsesoftware\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"contentUrl\":\"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png\",\"width\":161,\"height\":58,\"caption\":\"Elipse Software\"},\"image\":{\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/a4b2e51e032a9f1b7871b80269b1d46a\",\"name\":\"Alexandre B. Corr\u00eaa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/39cffad4619be80e8390c9b5abe033e8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/39cffad4619be80e8390c9b5abe033e8?s=96&d=mm&r=g\",\"caption\":\"Alexandre B. Corr\u00eaa\"},\"url\":\"https:\/\/kb.elipse.com.br\/en\/author\/abc\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3. - Elipse Knowledgebase","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/","og_locale":"en_US","og_type":"article","og_title":"[:pt]Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.[:] - Elipse Knowledgebase","og_description":"[:pt]Visando otimizar o reuso de c\u00f3digo existente e a integra\u00e7\u00e3o com bibliotecas j\u00e1 desenvolvidas pelo integrador, o Elipse E3 permite a utiliza\u00e7\u00e3o de bibliotecas... Autor Alexandre Cabral Botelho[:]","og_url":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/","og_site_name":"Elipse Knowledgebase","article_publisher":"http:\/\/www.facebook.com\/elipsesoftware","article_published_time":"2019-03-25T20:30:18+00:00","article_modified_time":"2020-06-19T20:11:49+00:00","og_image":[{"url":"http:\/\/kb.elipse.com.br\/images\/ID57\/Figura1.PNG"}],"author":"Alexandre B. Corr\u00eaa","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Alexandre B. Corr\u00eaa","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#article","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/"},"author":{"name":"Alexandre B. Corr\u00eaa","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/a4b2e51e032a9f1b7871b80269b1d46a"},"headline":"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.","datePublished":"2019-03-25T20:30:18+00:00","dateModified":"2020-06-19T20:11:49+00:00","mainEntityOfPage":{"@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/"},"wordCount":1139,"commentCount":0,"publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"articleSection":["Scripts"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/","url":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/","name":"[:pt]Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3.[:] - Elipse Knowledgebase","isPartOf":{"@id":"https:\/\/kb.elipse.com.br\/#website"},"datePublished":"2019-03-25T20:30:18+00:00","dateModified":"2020-06-19T20:11:49+00:00","breadcrumb":{"@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kb.elipse.com.br\/utilizando-funcoes-e-classes-criadas-atraves-do-visual-basic-2005-no-e3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/kb.elipse.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Utilizando fun\u00e7\u00f5es e classes criadas atrav\u00e9s do Visual Basic 2005 no E3."}]},{"@type":"WebSite","@id":"https:\/\/kb.elipse.com.br\/#website","url":"https:\/\/kb.elipse.com.br\/","name":"Elipse Knowledgebase","description":"","publisher":{"@id":"https:\/\/kb.elipse.com.br\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kb.elipse.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/kb.elipse.com.br\/#organization","name":"Elipse Software","url":"https:\/\/kb.elipse.com.br\/","sameAs":["http:\/\/www.facebook.com\/elipsesoftware"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/","url":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","contentUrl":"https:\/\/kb.elipse.com.br\/wp-content\/uploads\/2019\/05\/schererelipse-com-br\/logoElipse.png","width":161,"height":58,"caption":"Elipse Software"},"image":{"@id":"https:\/\/kb.elipse.com.br\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/a4b2e51e032a9f1b7871b80269b1d46a","name":"Alexandre B. Corr\u00eaa","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/kb.elipse.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/39cffad4619be80e8390c9b5abe033e8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/39cffad4619be80e8390c9b5abe033e8?s=96&d=mm&r=g","caption":"Alexandre B. Corr\u00eaa"},"url":"https:\/\/kb.elipse.com.br\/en\/author\/abc\/"}]}},"_links":{"self":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/324"}],"collection":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":5,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"predecessor-version":[{"id":10909,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/posts\/324\/revisions\/10909"}],"wp:attachment":[{"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.elipse.com.br\/en\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}