|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 40 ![]() |
Bonjour,
j'ai un probleme d'implementation et comme je ne maitrise pas bien corba, je ne comprends pas pourquoi mon code plante. Presentation du projet (simplifie) : J'ai une application serveur qui a une connaissance de differents capteurs. Dans une application graphique (client), je cherche a pouvoir recuperer les informations de certains capteur pour en modifier les parametres. Lorsque je fais une selection d'un capteur, je fais un appel pour recuperer les info (via corba), ca marche, cool . Lorsque je change de selection, tout va toujours bien. En revanche des que je cherche a rappeler le capteur selectionne auparavant, mon application plante (au niveau du serveur). Voici ce que je recupere avec gdb : Citation:
Code :
Code :
Code :
|
|||||||
|
|
00
|
|
|
#2 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 40 ![]() |
Je pense que le probleme vient de la :
m_sensors est de type std::map<std::string, com::stubs::Sensor_var> or la fonction que j'appelle dans le client est Sensor_ptr getSensor(const char* uid) Et je fais le renvoi d'un type Sensor_var au lieu d'un Sensor_ptr. Est-ce que cela peut etre la cause de mon erreur? |
|
|
00
|
|
|
#3 | |||
|
Membre confirmé
![]() Julien EnochArchitecte technique Inscription : septembre 2006 Messages : 215 ![]() |
Bonjour,
Citation:
(je mets "copie" entre guillemets car ce n'est pas réellement une copie, mais plutôt l'incrémentation d'un compteur de référence interne à l'objet, puis une décrémentation plutôt qu'un effacement. Le delete se fera réellement lorsque le compteur tombera à 0) Autre erreur: ne pas retourner NULL pour un _ptr, mais utiliser l'opération _nil(). NULL peut marcher avec certains ORBs, mais pas avec tous. Le code suivant devrait donc corriger le problème: Code :
|
|||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2007 Messages : 40 ![]() |
Super, merci beaucoup, va marche parfaitement.
![]() Et j'ai remplace le NULL :-) Bonne journee |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com