IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[VC++][MFC][DLL]retourner un tableau


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    140
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 140
    Par d�faut [VC++][MFC][DLL]retourner un tableau
    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

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    258
    D�tails du profil
    Informations personnelles :
    �ge : 46
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 258
    Par d�faut
    Le pointeur contacts est modifi� dans la fonction CalcFilmCont, mais cette modification ne se propage pas dans l'appelant puisque le pointeur est pass� par valeur. Pour que ta fonction ait le comportement requis, contacts devra �tre pass� par r�f�rence :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    void f(double * & contacts);
    Autre solution, plus "propre", est d'utiliser un objet encapsulant le pointeur, type std::vector.

Discussions similaires

  1. Retourner un tableau ?
    Par chateau_dur dans le forum C++
    R�ponses: 8
    Dernier message: 20/08/2005, 12h11
  2. [MFC][DLL]Afficher une CDialog ?
    Par matazz dans le forum MFC
    R�ponses: 13
    Dernier message: 13/04/2005, 13h47
  3. [plpgsql] comment retourner un tableau
    Par hpghost dans le forum PostgreSQL
    R�ponses: 3
    Dernier message: 27/06/2004, 21h09
  4. Fonction qui retourne un tableau
    Par _lara_ dans le forum ASP
    R�ponses: 6
    Dernier message: 24/05/2004, 15h06
  5. [MFC] Affichage d'un tableau
    Par SethPech dans le forum MFC
    R�ponses: 7
    Dernier message: 23/02/2004, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo