Array por referência no parâmetro da função
29/09/2005
0
Olá amigos,
Estou fazendo uma DLL e uma das funções precisar receber um array de caracteres (unsigned char) e um valor inteiro. Os dois valores devem vir por referência (ou seria ponteiro?) pois preciso retornar à quem chamou a função o array preenchido e um valor no inteiro.
A questão é como declaro um array no parâmetro para que outros compiladores (Delphi, C, VB, Java....) consigam passar o array e recebê-lo de volta?
Já tentei por um tempo e não consegui encontrar a solução, sempre dá erro na DLL ou no programa que chama a função.
Alguém poderia me mandar um exemplo de uma função em DLL que tivesse estes dois parâmetros e um exemplo da função sendo chamada e passando os parâmetros?
Grato pela ajuda de todos,
Rodrigo Cesar
Estou fazendo uma DLL e uma das funções precisar receber um array de caracteres (unsigned char) e um valor inteiro. Os dois valores devem vir por referência (ou seria ponteiro?) pois preciso retornar à quem chamou a função o array preenchido e um valor no inteiro.
A questão é como declaro um array no parâmetro para que outros compiladores (Delphi, C, VB, Java....) consigam passar o array e recebê-lo de volta?
Já tentei por um tempo e não consegui encontrar a solução, sempre dá erro na DLL ou no programa que chama a função.
Alguém poderia me mandar um exemplo de uma função em DLL que tivesse estes dois parâmetros e um exemplo da função sendo chamada e passando os parâmetros?
Grato pela ajuda de todos,
Rodrigo Cesar
Rodcesar
Curtir tópico
+ 0
Responder
Posts
01/10/2005
Beppe
Em C só há passagem por valor, mas dá pra simular referência tomando ponteiros. Tome muito cuidado com passar ponteiros para memória alocada dinâmicamente. Se a dll alocar, ela destrói. Ou use buffers pré-alocados, a là Win32 API.
Responder
Clique aqui para fazer login e interagir na Comunidade :)