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

Visual C++ Discussion :

utilisation de Safearray entre VB et VC++


Sujet :

Visual C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 58
    Points : 44
    Points
    44
    Par défaut utilisation de Safearray entre VB et VC++
    Boujour a tous,

    Je souhaiterais utiliser une dll ActiveX développée en VB dans un programme en VC++.

    Dans ma dll, je souhaiterais utiliser en parametre de sortie, des tableaux de string et d'integer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function MaFonction(ByRef Tableau1() As String, ByRef Tableau2() As Integer)
    Apparement pour pouvoir les récupérer en VC++, il faudrait que j'utilise un safearray mais je n'arrive pas a trouver de doc expliquant comment faire...

    Car dans l'etat actuel des choses, lorsque j'utilise le wrapper de VC++, il me sort:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    // method 'MaFonction' not emitted because of invalid return type or parameter type
    merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    La notion de SAFEARRAY est très intéressante mais délicate, pour moi.

    Je veux passer du VBA à C++ un tableau de structures définies par l'utilisateur. Les structures ont bien été définies dans VBA et C++.

    Je produis donc une dll :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void __declspec (dllexport) __stdcall test(SAFEARRAY **tableau1, SAFEARRAY **tableau2)
    { 
     type1 *elt_type1;
     SafeArrayAccessData(*tableau1,(void**)&elt_type1);
     type2 *elt_type2;
     SafeArrayAccessData(*tableau2,(void**)&elt_type2);
    
    fonction_annexe ( ... ) // fonction prenant en paramètre le tableau1
    }
    Mais que dois-je entrer dans le paramètre de ma fonction annexe ??
    - toujours le SAFEARRAY tableau1 ?
    - type1 *elt_type1 ?
    - le résultat de la fonction SafeArrayAccessData ?

    Vous comprendrez bien que j'ai un peu de mal avec les SAFEARRAY...

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Dois-je réutilliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SafeArrayAccessData(*tableau1,(void**)&elt_type1);
    si je veux appeler mes tableaux 1 et 2 dans le code C++ par la suite ?

  5. #5
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Cette fonction sert a "protéger" ton tableau pendant que tu y accedes, pour ne pas que quelqu'un d'autres le détruise pendant ce temps. Voir la doc:
    http://msdn2.microsoft.com/en-us/library/ms221620.aspx

  6. #6
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ok, merci !

Discussions similaires

  1. Comment utiliser le viewstate entre 2 pages
    Par castaka dans le forum ASP.NET
    Réponses: 8
    Dernier message: 18/10/2007, 10h01
  2. [hibernate][webapp]Utilisation des hbms entres deux packages
    Par MrDuChnok dans le forum Hibernate
    Réponses: 9
    Dernier message: 11/01/2007, 13h21
  3. [WebForms]Comment utiliser la touche entrée pour valider un formulaire ?
    Par yonialhadeff dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 10/05/2006, 12h29
  4. [W3C] Facilité d'utilisation : quel solution entre deux choix ?
    Par Thierry8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/04/2006, 11h56
  5. débutant:utilisation de variable entre classe
    Par troojan dans le forum MFC
    Réponses: 1
    Dernier message: 07/12/2005, 23h31

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