BUG-0013588: Tipos incompatíveis ao chamar métodos GetValue/SetValue do componente E3DataAccess.

RESUMO

Ao utilizar o componente E3DataAccess em linguagens sem tipos (typeless), como o VBScript ou o Javascript, as chamadas do método GetValue retornam erro de tipos incompatíveis (type mismatch). O problema acontece porque em linguagens sem tipos, os parâmetros IN/OUT devem ser do tipo VARIANT. Já no VBA, por exemplo, onde as variáveis possuem tipos definidos, este problema não acontece.

COMO REPRODUZIR O PROBLEMA

Para simplificar, foi utilizado o próprio Elipse E3 para reproduzir o problema:


    Set da = CreateObject("E3DataAccess.E3DataAccessManager.1")
    Dim r, a, b, c
    r = da.GetValue("Dados.Tag.Value", a, b, c)
    MsgBox r    

Uma mensagem de erro será exibida: ‘Type mismatch: ‘da.GetValue”

WORKAROUND

  1. Utilize o controle em um ambiente VBA.
  2. Atualize o E3 ou o controle para uma versão 4.5 ou superior.


SITUAÇÃO

A Elipse Software confirmou que esta limitação existe desde que o componente (E3DataAccess) foi criado. O artigo Conectando uma página HTML a um E3Server com a biblioteca de comunicação E3DataAccess utilizando JavaScript e VBScript contém a correção para versões 4.5 ou superiores.

Nas versões 4.5 ou superiores, foram adicionados dois novos métodos: ReadValue e WriteValue. Eles substituem GetValue e o SetValue, que consequentemente devem ser evitados.

ESTE ARTIGO APLICA-SE AOS SEGUINTES PRODUTOS

Versões do componente E3DataAccess inferiores à versão 4.5.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *