Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur, besoin d'aide [ Divers / Débutant(e) ] (mafio31)

mercredi 6 février 2008 à 16:30:33 | Erreur, besoin d'aide

mafio31

Voici mon problème: lors de la compilation, je n'est pas d'erreur, mais quand je lance le débugueur, l'application se lance, puis se refermer, avec ce message d'erreur:
Une exception non gérée du type 'System.NullReferenceException' s'est produite dans testTemp.exe
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

Voici mon code:

#pragma once
#include
"stdafx.h"
#include
"DS18B20.h"

using
namespace com::dalsemi::onewire::adapter;
using namespace
System;

int main( void ){
// ****** Déclaration des Variables *****
const int
DS18B20_FAMILY = 0x28;
OneWireContainer28 ^container;              
// ^container = ^tc
DSPortAdapter ^testCapteur;                   
// ^testCapteur = ^adapteur
cli:: array < signed char
> ^state;
String ^id;

try {

       container = gcnew OneWireContainer28;
      testCapteur = OneWireAccessProvider::getDefaultAdapter();

}

catch (Exception ^e){
      
if
( !testCapteur )
            Console::WriteLine(
"Capteur non détécté !"
);
}

testCapteur->targetFamily(DS18B20_FAMILY); // recherche d'un capteur DS18B20

testCapteur->beginExclusive(

true ); // accès exclusif

testCapteur->reset();

testCapteur->setSearchAllDevices();

try {

      testCapteur->findFirstDevice();
      

if ( !testCapteur )   
            throw gcnew
Exception();
}

catch (Exception ^e){
      Console::WriteLine(
"Aucun peripherique DS18B20 1-Wire !"
);
      testCapteur->endExclusive();
}

container = (OneWireContainer28 ^)testCapteur->getDeviceContainer(id);
testCapteur->endExclusive();

state = container->readDevice();

container->doTemperatureConvert(state);

// le capteur fait une acquisition

state = container->readDevice();
// lecture du resultat

container->getTemperature(state);

Console::Write(

"La température acquise est : " );

Console::WriteLine(container);

}


Cette application consiste à relever la valeur d'une température acquise par un capteur, via un réseau 1-Wire. Merci


mercredi 6 février 2008 à 16:41:42 | Re : Erreur, besoin d'aide

victorcoasne

Membre Club
Bonjour,

Essaye un :
int main(void){
// ****** Déclaration des Variables *****
try
{
avant tout le code la fonction main() et :
}
catch(..)
{
    // Erreur
}
à la fin de tout ton code avant de fermer la fonction main()

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com

jeudi 7 février 2008 à 22:13:21 | Re : Erreur, besoin d'aide

yann_lo_san

Salut,

A mon avis tu as un InvalidCastException qui provoque le NullReferenceException ici :

container = (OneWireContainer28 ^)testCapteur->
getDeviceContainer(id);

testCapteur->endExclusive();

state = container->readDevice();


Selon ta hiérarchie de classe, peut etre faut-il un dynamic_cast<> à la place du static_cast<> ?


samedi 9 février 2008 à 01:21:36 | Re : Erreur, besoin d'aide

mafio31

Heu, je ne vois pas où j'ai utilisé un static cast :s

samedi 9 février 2008 à 17:49:09 | Re : Erreur, besoin d'aide

yann_lo_san

En c++ cli le static cast est Ici :
   (OneWireContainer28 ^)testCapteur->...


samedi 9 février 2008 à 23:15:55 | Re : Erreur, besoin d'aide

mafio31

Ok, je test tout ça Lundi, merci

lundi 11 février 2008 à 15:21:26 | Re : Erreur, besoin d'aide

mafio31

Par conte je n'ai pas trouvé comment faire se cast en dynamique, sais-tu comment faire ?

lundi 11 février 2008 à 15:21:28 | Re : Erreur, besoin d'aide

mafio31

Par conte je n'ai pas trouvé comment faire se cast en dynamique, sais-tu comment faire ?

lundi 11 février 2008 à 20:43:04 | Re : Erreur, besoin d'aide

yann_lo_san

Salut,

Pour etre sur que le problème se situe bien ici tu peux essayer ceci :
(try dynamic cast)

try
{
       container =  __try_cast<OneWireContainer28^>
                       (testCapteur->getDeviceContainer(id));
}
catch(System::InvalidCastException^)
{
       Console::WriteLine("Invalid Cast !");
}



Si cela passe, pas de problème de cast.




Cette discussion est classé dans : erreur, state, container, testcapteur, ds18b20


Répondre à ce message

Sujets en rapport avec ce message

GTK+ message d'erreur!! [ par Iced_Soul ] quand je met fixed[1] = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(pVBox), fixed[1]); gtk_widget_show(fixed[1]); pFrame Erreur à la compilation : "Size unknown" [ par morganitos ] Les types decode ci dessous provoque tous la même erreur : 'void *' unknown size Je comprends pas pourquoi et encore moins comment y remédier... Qqun erreur C2143 compilation mapi.h [ par langello ] Bonjour, j'utilise la classe MAPI.h et la librairie mapi32.dll je charge la libraire par l'instruction: HINSTANCE hMAPI = ::LoadLibraryA(_T("MAPI32. Message d'erreur de SDL [ par The_Sin ] Salut,J'ai fais un programme en SDL en C, il marche bien mais que je le lance dans un terminal ( je suis sous Ubuntu Linux) à la fermeture je m'aperço erreur sur WindowFromPoint [ par DJtef ] Je cherche à récupérer les coordonnées et la couleur du pixel pointé par la souris, dans une simple console dos, sous Dev C++, mais j'ai le message d' Erreur lors de la compilation [ par hitcher ] Bonjour,j'ai déposé un code dernièrement (Optimisation par Golden Search) mais il y a une erreur et le programme refuse de compiler, malgrès que ce so Erreur à la compilation dans visual studio C++ [ par elo29 ] Bonjour, J'ai programmer un tout petit code pour convertir une image jpeg en bmp et voici les erreurs que j'ai à la compilation : LINK : warnin erreur couleur pixel [ par DJtef ] Je cherche à récupérer les coordonnées et la couleur du pixel pointé par la souris, dans une simple console dos, sous Dev C++, mais j'ai les 2 message Problème avec une Dll [ par nicooooo1 ] Bonjour, J'ai fait une Dll c++ que j'utilise sous VB6 sans problèmes, par contre lorsque je l utilise en c++ gros plantage........ Voilà un bout de co C : erreur "stray" lors d'un calcul [ par tekila_bandita ] Bonjour,j'ai une erreur de compilation sur une ligne ou j'affecte une valeur a une variable, je vous passe le code, et en suite l'erreur :#define f(mo


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.