/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Fjerne fra Collection [VB6]
Fra : Jens Vestergaard


Dato : 19-04-02 07:59

Hej Venner,
Somme tider lurer skjulte farer, hvor man tror sig sikker....

Se lige følgende tænkte eksempel

For Each obj In myColl
'kode
'kode
If obj.Value > 100 Then
myColl.Remove obj.Navn
End If
Next

Jeg fjerner altså et medlem af en collection, *mens* jeg kører igennem samme
collection.

Ved forskellige forsøg ser det ud til at gå godt - men...: Er der skjulte
farer ved det? Umiddelbart er jeg lidt nervøs ved det, for hvordan holder
For..Each loopet styr på antallet af elementer, hvis de lige så stille
forsvinder midt i loopet?

Hva' si'r I?

--
mvh
Jens Vestergaard
www.railsoft.dk



 
 
Rayman (19-04-2002)
Kommentar
Fra : Rayman


Dato : 19-04-02 22:32

Hvis du kigger med i Enum functionen i din collection, vil du se at den kun
bliver kaldt en gang (første gang), og at fjerne en item påvirker ikke Enum,
da det blot er nummerering. Så længe du kun fjerner den "current", er der
ingen problemer, men jeg mener ikke at du kan bruge myColl.Item(4), midt i
det hele, da collection'en ikke ser ud som den der ittereres over.

Mvh. Rayman

"Jens Vestergaard" <j@railsoft.dk> wrote in message
news:3cbfbfd7$0$78786$edfadb0f@dspool01.news.tele.dk...
> Hej Venner,
> Somme tider lurer skjulte farer, hvor man tror sig sikker....
>
> Se lige følgende tænkte eksempel
>
> For Each obj In myColl
> 'kode
> 'kode
> If obj.Value > 100 Then
> myColl.Remove obj.Navn
> End If
> Next
>
> Jeg fjerner altså et medlem af en collection, *mens* jeg kører igennem
samme
> collection.
>
> Ved forskellige forsøg ser det ud til at gå godt - men...: Er der skjulte
> farer ved det? Umiddelbart er jeg lidt nervøs ved det, for hvordan holder
> For..Each loopet styr på antallet af elementer, hvis de lige så stille
> forsvinder midt i loopet?
>
> Hva' si'r I?
>
> --
> mvh
> Jens Vestergaard
> www.railsoft.dk
>
>



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste