Bonjour,

J'ai un comportement super bizzare dans mon programme !
J'ai une boucle for, si je nomme l'indice "i" , ca plante ma page, si je nomme l'indice de boucle "j", ca marche nickel. Lorsque j'ai une erreur le code est :
[quote]
Objet Response error 'ASP 0104 : 80070057'

Opération non autorisée

/rep1/rep2/ma_page.asp, line 0
[/code]
Alors vous allez me dire que c'est certainement parce que ma boucle for se situe dans une autre boucle dont l'indice est déjà i, ou que j'ai déjà une variable nommée i quelque part, et bien même pas !
Je vous résume comment se compose ma page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
'inclusion d'un fichier qui declare des classes
action=Request("action")
'creation chargement d'un objet
select case action
  case "add"
    'requete pour recuperer la variable max_importance
    for i=1 to max_importance+1
      if i=Cint(rs_get_categorie("Importance")) then
        selected="selected"
      else
        selected=""
      end if
      response.write("<option value="""&i&""" "&selected&">"&i&"</option>")
   next
end select
 
MonObjet.Display()
C'est en gros la structure de ma page, je précise que la méthode "Display()" de mon objet fonctionne parfaitement, je l'utilise sur plein d'autre page et je n'ai aucun probleme avec. En résumé mon objet est en permanence affiché en bas de la page par appel de la méthode Display, j'ai un select en haut du code qui effectue des opérations en fonction de la variable "action". Lorsque l'action est "add", il y a une boucle for qui est executée et c'est elle qui pose problème.
Dans cette page, lorsque l'action est "add", j'obiens l'erreur. Si je met en commentaire le code de la boucle for , ca marche nickel , et pire si je renomme simplement l'indice de boucle en l'appelant j au lieu de i, ca marche nickel et c'est la que je ne comprends pas !!!
Ca n'a aucun sens, nulle part je ne fais appel a une boucle for dans mon code, sauf dans la méthode Display de ma classe, et ca ne peut pas interferer puisque je suis dans un objet et en plus l'appel de la méthode Display se fait de toutes manières à l'extérieur de ma boucle for !

Donc, j'ai la solution, il me suffit de nommer mon indice j au lieu de i, mais ce que je voudrais c'est comprendre pourquoi ?

Avez vous une idée de ce qui se passe pour que j'obtienne un tel résultat ?

Merci