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

CORBA Discussion :

Comment utiliser OUT ?


Sujet :

CORBA

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Comment utiliser OUT ?
    est ce que vous pouvez me donnez un exemple de lutilisation de out(idl) et son implementation en C Builder5?
    merci davance.

  2. #2
    Candidat au Club
    Inscrit en
    Juin 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Je ne suis pas un pro mais chez moi cet exemple marche:

    Dans idl, j'ai par exemple:
    interface InterfaceProcedureCORBA
    {
    ResultatProcedure(in string Nom, out string Param, in string IdTraitement);
    }


    Je l'implémente comme ça sur le serveur:
    void InterfaceProcedureCORBAImpl::ResultatProcedure(const char* Nom, char *& Param, const char * IdTraitement)
    {
    char * c=new char[20];
    // ce que fait la procedure...
    //exemple:
    c="2";
    Param=c;
    }



    Je l'appelle par exemple comme ça (depuis le client):

    CORBA::String_var PC;
    interfaceProcedureCORBA->ResultatProcedure("",PC.out(),"");
    Param=PC.out();

    voila.
    bonne chance
    manuel

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    et pour un Corba::short ?.... j'ai un serveur c++ et un client java, mais dans le cas qui m'interesse c'est le code de calcul en c++ qui envoye une requete au client auquel on a associe un nouveau poa pour voir si l'utilisateur a appuye sur le bouton stop. donc en fait en idl ca me donne ca
    interface monInterface{

    void isStop (out short entierStop)

    }

    cote java j'implemente comme suit :
    public void isStop (org.omg.CORBA.ShortHolder eniterStop){

    entierStop.value() =2;
    }
    ou dois je utiliser org.omg.CORBA.ShortHolder ou un short tout simplement?

    et cote c++ pour l'implementation ce doit etre un CORBA::Short_out pour qu'il me retourne le int c++?. ou bien un CORBA::Short.
    J'utilise visibroker sur sun (4.5.0) et sgi (4.0 et ca fut galere pour le porter sur sgi au passage)

    merci d'avance,

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Salut

    en java, il n y a pas de notion de passage de parametre en out car il n y a pas de passage par reference ni par adresse.

    void maclass::mafct(short monshort)
    {
    monshort=1; // n est pas modifie pour la fonction appelante
    }

    donc le holder est necessaire, en effet l adresse du holder n est pas modifié, c'est juste son contenu
    void maclass::mafct(org.omg.CORBA.ShortHolder eniterStop)
    {
    entierStop.value=1;
    }
    Il ne faut pas confondre vitesse et precipitation....

Discussions similaires

  1. [TOPIC OFFICIEL] Comment utiliser le RDC de Crystal en Delphi ?
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 21/12/2009, 12h24
  2. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  3. Comment utiliser un cache ?
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 14/03/2003, 09h55
  4. comment utiliser actionscript ?
    Par webs dans le forum Flash
    Réponses: 3
    Dernier message: 09/02/2003, 23h11
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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