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 :

implémentation de fopen et son exécution à distance


Sujet :

CORBA

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 9
    Points : 5
    Points
    5
    Par défaut implémentation de fopen et son exécution à distance
    Bonjour à tous ;
    j'ai fais mes tests depuis plus d'une semaine et je n'arrive pas à résoudre le problème.

    voici mon fichier .idl:

    module m{
    typedef char chaine[100] ;
    interface i{
    chaine si(in chaine nomfichier);
    };
    };

    mon programme appelé

    m::_VISanon_arr_100_char_slice * iImpl::si(const m::_VISanon_arr_100_char _nomfichier)
    {
    if (fopen(_nomfichier, "rb")==NULL) return (" le fichier ne peut pas être ouvert!");
    else return ("ouverture du fichier réussie!");
    }

    Mon prgramme appelant

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    m::chaine_var var;
    var="MACtimes.doc";
    ShowMessage((char*)Object->si(var));
    }

    fin des trois programmes

    C'est un exemple trés simple d'implémentation d'un fopen à distance. Je ne vois pas le problème, où il réside!

    Je vous remercie pour toute l'aide que vous m'apportez.

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Tu te complique trop la vie avec les chaines de caractères. Il faut utiliser les types string dans ton IDL. Et puis c'est quoi cette variable Object qui sort de nulle part ? tu dois surement voiloir écrire Sender à la place ? Il faut au moins remplacer ton code par quelque chose de plus sur du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(Object) 
    {
       char* ret = (char*) (Object->si("MACtimes.doc")); 
       if(ret) ShowMessage(ret); 
    }
    pour éviter les exception sur pointeurs NULL ! Ou bien utilise des blocs try.

    En utilisant ce genre de code, tu mettras plus facilement en évidence tes bugs.

    Bye.

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2002
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Ne marche pas encore
    Salut ,
    Je vous remercie pour la réponse, j'ai bien saisi la leçon.
    J'ai appliqué ce que vous m'avez proposé, et apparemment c'est pas là que se pose le problème! Je pense que c'est au niveau du nom du fichier que reçoit le serveur pour ouverture:

    1. Si je met un nom de fichier erroné ou sans chemin absolue complet, "fopen" me donne NULL, le plus normalement du monde; mais lorsque je lui donne une bonne syntaxe (par exemple:
    "C:/Program Files/Borland/CBuilder5/INSTALL.TXT", elle me donne "erreur d'exécution" et le proramme s'arrête!!!

    2. d'un autre coté, j'ai essayé un petit programme local, j'ai utilisé fopen avec le même nom du fichier et ça marche bien( en dehors de corba)!!!

    Je ne comprend pas ce comportement!

    Je suis bloquée jusque là!

    Merci pour votre aide.

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2006, 16h17
  2. Réponses: 14
    Dernier message: 26/05/2006, 00h05
  3. [D7] Comment lancer un exécutable à distance ?
    Par raoulmania dans le forum Web & réseau
    Réponses: 10
    Dernier message: 20/09/2005, 18h47
  4. Empêcher la copie d'un prog pendant son exécution
    Par JuanLopez1966 dans le forum Assembleur
    Réponses: 3
    Dernier message: 09/09/2004, 19h49
  5. Comment gérer plusieurs icones dans son exécutable ?
    Par declencher dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2003, 10h49

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