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

C# Discussion :

Objets managés via un séquenceur C++


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Points : 136
    Points
    136
    Par défaut Objets managés via un séquenceur C++
    Bonjour,

    J'utilise un séquenceur en C++ qui peut passer des paramètres uniquement de type long, double ou string à des fonctions C#
    Je souhaite pouvoir utiliser des objets managés dans mes fonctions C#, c'est à dire initialiser un paramètre avec l'adresse d'un objet et utiliser l'objet dans le coeur de la fonction.

    Un petit exemple vaut mieux qu'un long discours :
    Le séquenceur execute la séquence de texte suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Execute Method="GetObject" Component="MyComponent1"
    Return "@ObjectAddress" 
    Execute Method="Initialize" Component="MyComponent2"
    Parameter "@ObjectAddress"
    Les méthodes GetObject de MyComponent1 et Initialize de MyComponent2 sont des méthodes statiques dans des composants C#

    Comment coder le return de la méthode GetObject pour retourner l'adresse de l'objet en long double ou string?
    Comment coder la méthode initialize pour convertir l'adresse (passé en paramètre) en objet?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 208
    Points : 136
    Points
    136
    Par défaut
    J'ai contourné mon problème en stockant mes objets dans un dictionnaire global:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private static Dictionary<string, object> dSavedObject = new Dictionary<string, object>();
     
    public static string SaveObject(object oObject)
    {
    	string sGUID = System.Guid.NewGuid().ToString();
    	dSavedObject.Add(sGUID, oObject);
    	return sGUID;
    }
     
    public static object GetObject(string sGUID)
    {
    	if(!dSavedObject.ContainsKey(sGUID)) throw new Exception(Resources.InvalidKey);
                return dSavedObject[sGUID];
    }
    et le séquencer utilise le GUID de l'objet

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C++]sizeof d'un objet managée
    Par Akta3d dans le forum C++/CLI
    Réponses: 4
    Dernier message: 22/12/2006, 12h15
  2. Syntaxe objet FIND via ADO
    Par PhilC dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 27/09/2006, 16h31
  3. Objets simples via la palette
    Par jproto dans le forum NetBeans
    Réponses: 3
    Dernier message: 15/08/2006, 21h33
  4. Ajouter objet dynamiquement via un bouton
    Par maxjaco dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 23/06/2006, 16h39
  5. Probleme utilisation d'Objets managé grace a gcroot
    Par pepefourras dans le forum MFC
    Réponses: 4
    Dernier message: 16/05/2006, 00h26

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