Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'Syste
gbawar
Messages postés29Date d'inscriptiondimanche 15 août 2004StatutMembreDernière intervention15 mars 2007
-
12 nov. 2006 à 12:31
gbawar
Messages postés29Date d'inscriptiondimanche 15 août 2004StatutMembreDernière intervention15 mars 2007
-
12 nov. 2006 à 14:56
Bonjour,
J'ai cette erreur qui apparait :"Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'System.Windows.Forms.Label'." lorsque la compilation du programme arrive à une certaine variable.
Voici tout les codes liais a cette variable:
decalaration: Public energie As Object
initialisation: energie = 0
affectation liais a une textbox:
joulebox.Text = Replace(joulebox.Text, ".", " ,")
Energie = CType(joulebox.Text, Object)
calcul (semble lourd mais ca fonction nickel :-D):
If Temps_Secondes = 0 And energie <> 0 And Puissance <> 0 Then
't=W/P
Temps_Secondes = energie / Puissance
End If
If energie = 0 And Puissance <> 0 And Temps_Secondes <> 0 Then
'W=Pt
energie = Puissance * Temps_Secondes
End If
If Puissance = 0 And energie <> 0 And Temps_Secondes <> 0 Then
'P=W/t
Puissance = energie / Temps_Secondes
End If
If Résistance = 0 And energie <> 0 And Temps_Secondes <> 0 And Courant <> 0 Then
'R=W/I²t
Résistance = energie / ((Courant * Courant) * Temps_Secondes)
End If
If Courant = 0 And energie <> 0 And Temps_Secondes <> 0 And Résistance <> 0 Then
'I=Racine(W/Rt)
Courant = Math.Sqrt(energie / (Temps_Secondes * Résistance))
End If
If Temps_Secondes = 0 And energie <> 0 And Courant <> 0 And Résistance <> 0 Then
't=W/RI²
Temps_Secondes = energie / (Résistance * (Courant * Courant))
End If
If Temps_Secondes = 0 And Courant <> 0 And Temps_Secondes <> 0 And Résistance <> 0 Then
'W=RI²t
energie = Résistance * (Courant * Courant) * Temps_Secondes
End If
Le truc c'est que je vois pas pourquoi ca plante, car les autre variable sont déclaré pareil et les calcul sont casi identique.
donc j'aimerai si quelqu'un sais coment je peux réparait se probléme qui a l'heure actuel me bloque pas mal.
Merci d'avance pour l'iade que l'on pourra m'apporté.
Cordialement.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 12 nov. 2006 à 13:37
decalaration:
Public energie As Object
....
Energie = CType(joulebox.Text, Object)
Déjà, tu essaye de convertir une chaine de caractère (proprieté .Text) en objet. Ce qui n'st pas bon
Et au vue du reste de ton code ta variable energie ne devrait etre ni un object, ni même une chaine de caractère mais un nombre puisque tu t'en sert pour des calcul
D'ailleurs avec toutes les convertions implicites que tu impose dans ton code, je ne comprend pas que VB.Net ne gueule qu'au moment de l'execution.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
gbawar
Messages postés29Date d'inscriptiondimanche 15 août 2004StatutMembreDernière intervention15 mars 2007 12 nov. 2006 à 14:20
j'ai mis ma variable energie en decimale et j'ai ca comme erreur : Erreur 2 Une valeur de type 'Decimal' ne peut pas être convertie en 'System.Windows.Forms.Label'. C:\Documents and Settings\Guillaume\Mes documents\Regime\Regime\Regime_Continue.vb 43 19 Regime
. donc comment gerer ce probleme .
Avant j'etais en Object et sa fonctionner et depuis quelque ligne de plus sa fonctionne plus .