Une erreur que je m'explique pas

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Une erreur que je m'explique pas

Messagepar Ahamay » 08 Déc 2009 à 12:29

Hello,

En utilisant le code que Michael dans son infinie mensuétude m'a gracieusement tranféré hier ( http://forum.dominoarea.org/une-image-de-la-lca-t14551.html ), et que j'ai adapté a mes besoins afin de flinguer toute l'ACL d'une Base ... Bin, je me heurte a une erreur qui me laisse perplexe :

En gros : Voici le code en question :

Code : Tout sélectionner
Set Entry = Acl.getfirstEntry
While Not Entry Is Nothing
...
If Entry.Name <> "-Default-" Then
Call Entry.Remove   
End If   
...      
Set Entry = Acl.getNextEntry(Entry) 
Wend



Ca plante sur le Set Entry = Acl.getNextEntry(Entry)
à la seconde boucle !

Message d'erreur :
Erreur 4207 - Function require a valid ADT argument


Ce que je m'explique pas c'est que si je vire le Call Entry.Remove
ca boucle impecable.

une idée ???
Dernière édition par Ahamay le 08 Déc 2009 à 15:09, édité 1 fois.
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 08 Déc 2009 à 12:35

salut

essais

Code : Tout sélectionner
dim entryTemp

Set Entry = Acl.getfirstEntry
While Not Entry Is Nothing
...
If Entry.Name <> "-Default-" Then
set entrytemp = entry
else
set entryTemp = nothing 
End If   
...     
Set Entry = Acl.getNextEntry(Entry)
if entrytemp not is nothing then
call entrytemp.remove
end if
Wend
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Une erreur que je m'explique pas

Messagepar abertisch » 08 Déc 2009 à 13:11

Ahamay a écrit:Hello,

En utilisant le code que Michael dans son infinie mensuétude m'a gracieusement tranféré hier ( http://forum.dominoarea.org/une-image-de-la-lca-t14551.html ), et que j'ai adapté a mes besoins afin de flinguer toute l'ACL d'une Base ... Bin, je me heurte a une erreur qui me laisse perplexe :

En gros : Voici le code en question :

Code : Tout sélectionner
Set Entry = Acl.getfirstEntry
While Not Entry Is Nothing
...
If Entry.Name <> "-Default-" Then
Call Entry.Remove   
End If   
...      
Set Entry = Acl.getNextEntry(Entry) 
Wend



Ca plante sur le Set Entry = Acl.getNextEntry(Entry)
à la seconde boucle !

Message d'erreur :
Erreur 4207 - Function require a valid ADT argument


Ce que je m'explique pas c'est que si je vire le Call Entry.Remove
ca boucle impecable.

une idée ???


Salut,

Tu lui supprime son "index" comme ca sauvagement. Le pôvre ne sait plus ou il en est.

Passe par une variable temporaire et surprime la ! :wink:
"Lotus, il n'y a qu'en rouleaux que ça fait pas mal au cul"
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Michael DELIQUE » 08 Déc 2009 à 13:12

re

c'est que j'ai fais dans le code d'exemple !


oh faite tu sais combien ça coute la mal traitance d'index !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar abertisch » 08 Déc 2009 à 13:13

Michael DELIQUE a écrit:re

c'est que j'ai fais dans le code d'exemple !


oh faite tu sais combien ça coute la mal traitance d'index !


:oops:

J'ai mal lu désolé. :oops: Mais l'idée est la même.
"Lotus, il n'y a qu'en rouleaux que ça fait pas mal au cul"
abertisch
Roi des posts
Roi des posts
 
Message(s) : 763
Inscrit(e) le : 25 Oct 2006 à 13:51
Localisation : Suisse

Messagepar Ahamay » 08 Déc 2009 à 14:18

Michael, en plus de la fondue, tu te vois gratifié d'une bouteille de génépi ;)
... pour après la fondue (ou avant c'est selon)


Bon, genial ça marche... mais permettez moi de jouer les lourd 30 secondes... j'aime bien comprendre pourquoi j'me plante, alors, qu'est ce qui merdait ? pourquoi devoir passer par une variable temp ?
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 08 Déc 2009 à 14:23

bon c'est simpe, mais ça va faire grossir la bouteille

pour passer a l'entry suivante : Set Entry = Acl.getNextEntry(Entry)

le ls a besoin de connaitre l'entry actuel, si tu la supprime avant il perd c'est petit !

ç'est le meme principe/pb dans les vue ou collection quand supprime un doc
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 08 Déc 2009 à 14:27

Arf.... bin oui :biensur:
logique en fait.... et ca marche si je le supprime pas car son pointeur est toujours d'equerre... enfin si j'ai bien tout capté. :scratch:

:merci:
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest

Messagepar Michael DELIQUE » 08 Déc 2009 à 14:29

voila !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Ahamay » 08 Déc 2009 à 15:00

Autant que ça serve, alors c'est Tip-Top dans les Tip ;)

http://forum.dominoarea.org/viewtopic,p,123416.html#123416
Si haut que l'on soit placé, on n'est jamais assis que sur son cul (Montaigne) 8)
Avatar de l’utilisateur
Ahamay
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 368
Inscrit(e) le : 27 Nov 2007 à 09:30
Localisation : Completement à l'ouest


Retour vers Développement

cron