Recopie de Safearray

vba_blitz Messages postés 32 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 26 juin 2007 - 22 mai 2007 à 17:08
vba_blitz Messages postés 32 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 26 juin 2007 - 24 mai 2007 à 09:25
bonjour,

je souhaite copier un safearray dans un autre. J'ai un safearray qui est un tableau de structure qui contient également des safearray. Voici la structure


struct Instrument
{
  double i_bpv;   
  SAFEARRAY* Signaux_3;   
  SAFEARRAY* Dates;   
   SAFEARRAY* DD;   
};


Voici ma fonction :


void recopie(SAFEARRAY** F_List, long Nb_Instru)
{


SAFEARRAYBOUND rgsabound;
rgsabound.cElements = Nb_Instru;
rgsabound.lLbound=0;


F = SafeArrayCreate(VT_VARIANT,1,&rgsabound);
SafeArrayCopyData(*F_List,F);

}

avec SafeArray* F ; en variable globale.

Cette fonction "marche" mais mal car elle ne recopie pas les bons champs. En effet elle recopie par exemple le champ DD de F_List dans le champ dates de F.  Hors les types ne correspondent pas ce qui crée des erreurs plus tard.

Merci de votre aide si vous avez une idée.

2 réponses

hibakusha Messages postés 25 Date d'inscription vendredi 4 août 2006 Statut Membre Dernière intervention 23 mai 2007 1
23 mai 2007 à 11:52
Je ne sais pas pourquoi ça ne marche pas, mais ça ne sent pas bon ton truc : copier des pointeurs de structure qui contiennent elles même des pointeurs sur des machins, c'est pas joli joli, à coup sûr tu va te retrouver un jour ou l'autre avec des references sur des objet qui n'existent plus, ou autre truc rigolo.

Commence déja par repenser cette chose. Ensuite commence simplement : un petit projet de test pour potasser les SAFEARRAY et leur copie, regarde aussi ce que raconte le MSDN sur le sujet (ce que tu as déja fait n'est ce pas ... )

zNoRt~!
0
vba_blitz Messages postés 32 Date d'inscription dimanche 12 juin 2005 Statut Membre Dernière intervention 26 juin 2007
24 mai 2007 à 09:25
Merci mais en fait j'ai trouvé la réponse. C'était juste un réglage de visual concernant le struct alignment entre vba et c++.
0
Rejoignez-nous