Ir ao conteúdo
  • Cadastre-se

C Problema em converter Função DLL para VB6


JakLZ

Posts recomendados

Ola pessoal, tudo bem, estou começando agora a participar deste fórum, peço desculpas se estou postando no lugar errado...Pergunta: estou convertendo um programa escrito em C, em uma DLL pra poder usar as funções no VB6,
mais fiquei preso numa função onde tenho que passar um array para a função e ela me retornaria um
valor, mais cada vez que a função da DLL me retorna esse valor, toda vez ele vem diferente, alguém
poderia me ajudar..

 

Função da DLL.

EXTERNC __declspec(dllexport) int __stdcall Test(int *dArray);

 

Chamada da Função em C.

 

cArray = getAlocate2D(10, 4); 
//CHAMADA DA FUNÇÃO DA DLL 
Max = Test(cArray);  
printf("Test  =  %d\n\n", Max);  //FUNCIONA CORRETAMENTE

// We return the pointer
int **getAlocate2D(int N, int M) /* Allocate the array */
{
    /* Check if allocation succeeded. (check for NULL pointer) */	
    int i, **table;    
	
    table = malloc(N*sizeof(int *));
	for(i = 0 ; i < N ; i++)
        table[i] = malloc( M*sizeof(int) );
    return table;
}

 

Chamada da Função em VB6.

Private Declare Function Test Lib "Suport.dll" (ByRef MyArr() As Long) As Long

Dim longArray() As Long
ReDim longArray(10, 4)

'COMPLETA O ARRAY AQUI COM VALORES
'Call CompleteArray(longArray())

Max = Test(longArray())
Me.Print "Test = " & Max

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...