[R] Probleme d'array malgre une sécurité

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

[R] Probleme d'array malgre une sécurité

#1

Message par Iste »

Salutations,

Dans un de mes script, j'ai une fonction qui raconte cela

Code : Tout sélectionner

Local $RSS_items = HTTPRequest("GET", $RSS_URL)
If $RSS_items = "" Then SetError(1, 0, 0)
$RSS_items = _StringBetween($RSS_items, "<item>", "</item>")
If Not IsArray($RSS_items) = 0 Then SetError(1, 0, 0)
Local $RSS_articles[UBound($RSS_items)][5]
Seulement, il m'arrive d'avoir cette erreur a la derniere ligne
==> Array variable subscript badly formatted.:
Local $RSS_articles[UBound($RSS_items)][5]
Local $RSS_articles[^ ERROR
Ce que je ne comprend pas :/
J'ai pourtant évité tout probleme avec la condition d'avant non ?
Modifié en dernier par Iste le mar. 09 juin 2009 00:32, modifié 1 fois.
Signez ici
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Probleme d'array malgre une sécurité

#2

Message par orax »

SetError(1, 0, 0) va seulement mettre à la valeur "1" la macro @error, et ensuite le script continu.
On peut mettre par exemple : If Not IsArray($RSS_items) = 0 Then Return SetError(1, 0, 0) pour sortir de la fonction tout en mettant @erreur à "1".
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probleme d'array malgre une sécurité

#3

Message par Tlem »

Sinon pour être clair :

Code : Tout sélectionner

If IsArray($RSS_items) Then
   Local $RSS_articles[UBound($RSS_items)][5]
Else
   Return SetError(1, 0, 0)
EndIf
Mais bon, la solution d'orax est plus rapide. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Probleme d'array malgre une sécurité

#4

Message par Iste »

haaa ok, je pensais qu'il parlait de return de la fonction user, pas de la fonction seterror() ^^'
Merci bien !

Sinon, esque ma condition est vraiment correcte? je suis tenté de changer en

Code : Tout sélectionner

If Not IsArray($RSS_items) = 1 Then
Voir...

Code : Tout sélectionner

If IsArray($RSS_items) = 0 Then
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probleme d'array malgre une sécurité

#5

Message par Tlem »

IsArray vous renvoi 0 ou 1, donc inutile de faire un test supplémentaire.

Un simple If IsArray() suffit pour tester la condition vraie.
Sinon If Not IsArray() testera la condition fausse.
A vous de voir comment vous voulez utiliser la suite du code.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Probleme d'array malgre une sécurité

#6

Message par Iste »

If Not IsArray($RSS_items) alors ^^ merci bien !
Sujet clos
Signez ici
Répondre