Antes de mais nada queria compartilhar a minha satisfação em poder participar desse seleto grupo, agora que consegui a inscrição no mesmo. Nessa minha primeira postagem, uma dúvida sobre tipo de dado estruturado no Centura 2.0.
Amigos, abri uma DLL feita em VB no Centura 2.0 usando o "ActiveX Explorer" do centura. O Centura gerou a APL com os métodos definidos na DLL (ou melhor, na TLB). Um dos métodos retorna uma estrutura composta (tipo registro) de itens simples (como um numérico) e complexos (como uma tabela). Ao gerar a "Functional Class" para esse método, o Centura definiu esse parâmetro (que retorna uma estrutura de registro) como sendo do tipo "SafeArray". Ocorre que, até onde eu entendo, o SafeArray me pareceu ser um array de um tipo de dado simples, e não um array de uma estrutura. Me pareceu ser assim porque uma vez declarada a variável X como sendo do tipo ArraySafe, eu preciso chamar o create dela: X.Create(p1, p2, p3), no qual o parâmetro p1 vai definir o tipo de dado do Safearray. Olhando o help do centura, em "Data type mappings", verifiquei que os tipos de dados suportados são sempre tipos simples. Não vi nenhuma opção que suporte uma estrutura. A propósito, também não sei se o centura suporta a criação de um tipo de dado estruturado (ou tipo registro) em form. Quando tentei usar StructPoint na sessão "Variables", ele não permitiu. Me parece que ele aceita o "Structpoint" apenas na sessão "External Function -> Library name". No entanto, eu precisava definir um tipo de dado estruturado no escopo do form (para usá-lo como parâmetro na chamada ao método) e não no escopo de uma função externa. Resumindo, eu gostaria de saber se o Centura permite ou não passagem de parâmetros do tipo "Estrutura" de/para uma DLL e, em caso positivo, como eu faço para montar a estrutura desse parâmetro que o Centura definiu como sendo do tipo "SafeArray" ? Atenciosamente, Claudio Augusto