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

 

Responder a