Artigo
· 20 hr atrás 1min de leitura

AVISO: Bug na IRIS Native API

Revisando meus pacotes publicados, identifiquei um bug sério na IRIS Native API.

Existe um método em %Net.DB.Iris chamado function().
Ele é equivalente ao comando ObjectScript $$label^routine(param).
Isso funcionava bem há 2 anos, quando publiquei meus pacotes de extensões para linha de comando.
Agora, está quebrado há pelo menos 1 ano e gera o erro <PROTECT>.

Identifiquei o problema em ObjectScript, Java, Python e Node.js.
Foi registrado como WRC# 1002589.

Para todos os 4 casos, também verifiquei uma solução alternativa:
Em vez de chamar uma Function do ObjectScript, você deve chamar um ClassMethod.
Isso é feito com %Net.DB.Iris.ClassMethodValue(...).
E você precisará encapsular sua Function do ObjectScript dentro de alguma Class.

Pode parecer simples, mas há um esforço considerável envolvido por conta das versões do IPM e outros fatores.
Espero que você não seja pego de surpresa por esse problema.

Discussão (1)2
Entre ou crie uma conta para continuar