FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Un élément de type 'objet .NET' ne peut pas être converti vers le type 'chaîne UNICODE'
Un élément de type 'objet .NET' ne peut pas être converti vers le type 'chaîne UNICODE'
Débuté par Romain, 06 mai 2015 17:58 - 2 réponses
Connectez-vous…
Romain
#1
Posté le 06 mai 2015 - 17:58
Bonjour,
J'ai importé dans mon projet un assemblage .NET, System.data, et je rencontre un soucis dans le bout de code suivant (code permettant de lister toutes les instances SQL Server)
MonInstance est un SqlDataSourceEnumerator dynamique
=
SqlDataSourceEnumerator.Instance
MaListeSqlServer est un System.Data.DataTable dynamique
=
MonInstance.GetDataSources
(
)
i est un
entier
=
0
l_ligneAffiche est une
chaîne
l_glien est une
chaîne
POUR
TOUTE
rangée DE MaListeSqlServer.Rows
i
=
0
l_listeInfo est un
tableau
associatif de
chaînes
POUR
TOUTE
Colonne DE MaListeSqlServer.Columns
Info
(
Colonne.ColumnName
)
Info
(
rangée
:
get_Item
(i)
)
l_listeInfo
[
Majuscule
(
Colonne.ColumnName
)
]
=
rangée
:
get_Item
(i)
i
+
+
FIN
SI
l_listeInfo
[
"SERVERNAME"
]
<
>
""
ALORS
SI
l_listeInfo
[
"INSTANCENAME"
]
<
>
""
ALORS
l_ligneAffiche
=
l_listeInfo
[
"SERVERNAME"
]
+
"\"
+
l_listeInfo
[
"INSTANCENAME"
]
SINON
l_ligneAffiche
=
l_listeInfo
[
"SERVERNAME"
]
FIN
l_glien
=
l_ligneAffiche
SI
l_listeInfo
[
"INSTANCENAME"
]
<
>
""
ALORS
l_ligneAffiche
=
l_ligneAffiche
+
" ("
+
l_listeInfo
[
"VERSION"
]
+
")"
FIN
ListeAjoute
(
COMBO_
INSTANCE
,
l_ligneAffiche
+
gLien
(
l_glien
)
)
FIN
FIN
L'erreur que je rencontre vient de l'instruction suivante :
Info
(
rangée
:
get_Item
(i)
)
Où par moments, je récupère une valeur (de type chaine), parfois, j'ai un plantage, et l'explication est la suivante:
Un élément de type 'objet .NET' ne peut pas être converti vers le type 'chaîne UNICODE'.
Comment pourrais-je faire cette conversion?
Merci
Signaler
0
0
Olivier BLAIS
#2
Membre enregistré
280 messages
Popularité : +22 (28 votes)
Posté le 08 mai 2015 - 01:48
Bonjour,
Les chaines dans Windev sont UNICODE, depuis la version 19, je crois ! Bref, en déclarant la chaîne qui pose problème comme étant une chaîne ANSI tu devrais résoudre ton problème.
--
Cordialement.
Olivier
http://www.impulse-web.com
Signaler
0
0
Yann
#3
Membre enregistré
256 messages
Popularité : +29 (29 votes)
Posté le 11 mai 2015 - 09:16
Bonjour
Les objets .NET ne sont pas implicitement convertibles en chaîne (ni en WLangage, ni en C# directement d'ailleurs).
Si c'est une chaîne .NET, le WLangage la convertit automatiquement en chaîne WLangage.
Si c'est un autre objet .NET, ça ne fonctionne pas.
Si c'est juste une trace pour débogage, il faut appeler explicitement la méthode ToString()
Info
(
rangée
:
get_Item
(i)
.
ToString
(
)
)
Si vous devez récupérer une information chaîne spécifique de l'objet, il faut sans doute accéder à une propriété.
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Hors-sujet
Outils
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte