ouais je sais ça peut paraître con, et mon erreur doit l'être aussi mais là je ne vois plus rien du tout et donc, j'en appel à votre bon coeur....mais surtout à votre compétence en C++ !

environnement: Windows XP PRo SP2, VSC++6, Codage d'une DLL
alors voilà:

la fonction suivante reçoit plusieurs paramètres. Les 2 derniers sont des tableaux dont la taille peut varier d'un appel à l'autre..bref ces deux tableaux sont vides et doivent être remplis par cette fonction.
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
double CalcFilmCont(char *fetude, usint nind, double *vspots, int nbspots, char *dcbl, double *contacts, int *poids)
{
  //Déclarations
  double *Pbci;
 
  //initialisation
  Pbci = new double[nind];
  contacts = new double[nind];
 
  // traitement qui rempli Pbci
 
  //je récupère les valeurs de Pbci dans contacts par la boucle suivante
  for(i=0;i<nind;i++)
  {
    contacts[i] = Pbci[i];
  }
 
  return 0;
}

Cette fonction est appelée par le point d'entrée suivant de ma DLL:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
extern "C" __declspec(dllexport)
		double calc_filmcontact(char *fetude, usint nind, double *vspots, int nbspots, char *dcbl, double *contacts, int *poids)
{
  double ret=0;
 
  AFX_MANAGE_STATE(AfxGetStaticModuleState());
  TRY
  {  
    ret = CalcFilmCont(fetude,nind,vspots,nbspots,dcbl, contacts,poids);
  }
  END_TRY
 
  return ret;
}

Et le problème c'est qu'une fois de retour dans le programme appelant, je n'ai absolument rien dans le tableau contacts si ce n'est de jolis petits zéros .....

merci de votre aide à tous,
Ben