Question erreur code
yyannd
Messages postés
44
Statut
Membre
-
yyannd Messages postés 44 Statut Membre -
yyannd Messages postés 44 Statut Membre -
Bonjour,
Programme en c#
J'ai un programme qui récupere des données et quand je lance n'affiche pas d'erreur..
Il tourne pendant 15-20 minutes en actualisant toujours les valeurs qu'il faut
Au bout de 15 minutes il y a une erreur et le programme s'arrete
L'erreur est : L'exceptionInvalidCastExcepetion n'a pas été gérée
Le cast specifié n'est pas valide
------------------------------------------
public float NivNat;
CWDSLib.CWDataSocket opcNivNat = new CWDSLib.CWDataSocket();
opcNivNat.URL = @"opc:/national instruments.opcfieldpoint/FP @ 150_100_130_5\FP-AI-110 @1\Channel 1";
opcNivNat.Connect();
ici l'erreur>>>>>>>>> NivNat = (float)opcNivNat.Data.Value * 10;
Programme en c#
J'ai un programme qui récupere des données et quand je lance n'affiche pas d'erreur..
Il tourne pendant 15-20 minutes en actualisant toujours les valeurs qu'il faut
Au bout de 15 minutes il y a une erreur et le programme s'arrete
L'erreur est : L'exceptionInvalidCastExcepetion n'a pas été gérée
Le cast specifié n'est pas valide
------------------------------------------
public float NivNat;
CWDSLib.CWDataSocket opcNivNat = new CWDSLib.CWDataSocket();
opcNivNat.URL = @"opc:/national instruments.opcfieldpoint/FP @ 150_100_130_5\FP-AI-110 @1\Channel 1";
opcNivNat.Connect();
ici l'erreur>>>>>>>>> NivNat = (float)opcNivNat.Data.Value * 10;
A voir également:
- Question erreur code
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
10 réponses
Bonjour,
A mon avis opcNivNat.Data.Value * 10 dépasse 3,4*10^38, c'est possible?
Essaye de faire un try catch et dans ton erreur de mettre dans un log ou une message box la valeur de opcNivData...
A mon avis opcNivNat.Data.Value * 10 dépasse 3,4*10^38, c'est possible?
Essaye de faire un try catch et dans ton erreur de mettre dans un log ou une message box la valeur de opcNivData...
Non je ne pense pas qu'elle depasse car c'est du type
0.6145112 *10 par exemple ou
1.04121544 *10 ...
J'ai rajouté un float ici :
ICI
NivNat = (float)opcNivNat.Data.Value * (float)10;
J'ai relancé pour linstant pas d'erreur j'attend que ça plante et je vous tiens au courant
0.6145112 *10 par exemple ou
1.04121544 *10 ...
J'ai rajouté un float ici :
ICI
NivNat = (float)opcNivNat.Data.Value * (float)10;
J'ai relancé pour linstant pas d'erreur j'attend que ça plante et je vous tiens au courant
Sinon tu mets
et tu vérifies que c'est pas null, c'est plus élégant
NivNat = (opcNivNat.Data.Value * 10) as float;
et tu vérifies que c'est pas null, c'est plus élégant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bah voila justement j'envoi mon message et mon programme plante...
Et il me dise donc :
Lorsque vous effectuez un cast à partir d'un nombre , la valeur doit etre inférieur à l'infini..
Bizarre?
Et il me dise donc :
Lorsque vous effectuez un cast à partir d'un nombre , la valeur doit etre inférieur à l'infini..
Bizarre?
Tu bosses avec visual studio?
Règle le pour "breaker" sur toutes les erreurs pour voir ...
Quel est le type de base de ton opcNivNat.Data.Value?
Règle le pour "breaker" sur toutes les erreurs pour voir ...
Quel est le type de base de ton opcNivNat.Data.Value?
Oui visual studio..
Je sais pas comment regler pour breaker..Ce serait bien que lorsque le programme plante que je puisse voir quel était la valeur de nivnat mais je sais pas comment le faire..
et je connais pas le type de opc.nivnat.data.value c'est un chiffre a virgule variable ( 0.5121451 , 0.7201420, 0.654561)
Je sais pas comment regler pour breaker..Ce serait bien que lorsque le programme plante que je puisse voir quel était la valeur de nivnat mais je sais pas comment le faire..
et je connais pas le type de opc.nivnat.data.value c'est un chiffre a virgule variable ( 0.5121451 , 0.7201420, 0.654561)
Bah voila ça a planté à nouveau..
avec cette ligne la surligné en jaune :
NivNat = (float)opcNivNat.Data.Value * 10;
quand je me positionne sur nivnat il vaut 40.297123
quand je me positionne sur value il vaut 0
quand je me positionne sur opcnivnat il y a des petis sous onglet qui s'ouvre avec des données et j'ai aperçu
>>> LastError = -2147467259
avec cette ligne la surligné en jaune :
NivNat = (float)opcNivNat.Data.Value * 10;
quand je me positionne sur nivnat il vaut 40.297123
quand je me positionne sur value il vaut 0
quand je me positionne sur opcnivnat il y a des petis sous onglet qui s'ouvre avec des données et j'ai aperçu
>>> LastError = -2147467259