[Gambas-user] drove me crazy

Charlie Reinl Karl.Reinl at ...2345...
Wed Jan 20 19:17:40 CET 2010


Am Mittwoch, den 20.01.2010, 17:27 +0100 schrieb Benoît Minisini:
> > Am Dienstag, den 19.01.2010, 17:30 -0700 schrieb Dimitris Anogiatis:
> > > Hey Charlie,
> > >
> > > Try changing this line
> > >
> > >      sKey = col1.Key
> > >
> > > to
> > >
> > >      sKey = sElem.Key
> > >
> > >
> > > Hope this helps
> > >
> > > Regards,
> > > Dimitris
> > >
> > > On Tue, Jan 19, 2010 at 4:09 PM, Charlie Reinl <Karl.Reinl at ...2363...
> net.de>wrote:
> > > > Salut Benoit,
> > > >
> > > > its about Collection KEY and Debug-Window on gambas2.
> > > >
> > > > If you run that project, and open col1 and col2 in a Debug-Window
> > > > (DBl-Click on the var), the Collection Key is always the last
> > > > enumerated element.
> > > >
> > > > If you run it without Debug-Window or only col2 in a Debug-Window , the
> > > > Collection Key is the last read.
> > > >
> > > > PUBLIC SUB Main()
> > > > DIM col1 AS NEW Collection
> > > > DIM col2 AS NEW Collection
> > > > DIM sElem AS String
> > > > DIM sKey AS String
> > > >  col1.Add("1", "one")
> > > >  col1.Add("2", "two")
> > > >  col1.Add("3", "three")
> > > >  col1.Add("4", "four")
> > > >  PRINT "Returns the key of the last read or last enumerated element. "
> > > >   FOR EACH sElem IN col1
> > > >      sKey = col1.Key
> > > >      PRINT sKey & " = " & sElem
> > > >      col2.Add(sElem, sKey)
> > > >   NEXT
> > > > END
> > > >
> > > > see attached project.
> > > > --
> > > > Amicalement
> > > > Charlie
> > > >
> > > > [OperatingSystem]
> > > > OperatingSystem=Linux
> > > > KernelRelease=2.6.24-26-generic
> > > > DistributionVendor=ubuntu
> > > > DistributionRelease="Ubuntu 8.04.3 LTS"
> > > >
> > > > [System]
> > > > CPUArchitecture=i686
> > > > TotalRam=506932 kB
> > > >
> > > > [Gambas]
> > > > Gambas1=gbx-1.0.17
> > > > Gambas1Path=/usr/bin/gbx
> > > >
> > > > Gambas2=2.19.0                  rev.2613
> > > > Gambas2Path=/usr/local/bin/gbx2
> > > >
> > > > Gambas3=2.99.0                  rev.2602 (can't compile actually)
> > > > Gambas3Path=/usr/local/bin/gbx3
> > 
> > Salut Dimitris,
> > 
> > no can't work like that , sElem is 'only' a String.
> > 
> > It is like written in the doc,
> > "Returns the key of the last read or last enumerated element."
> > The  problem is, I think, that the Debug-Window loops the collection,
> > (every time I move in the collection), to refresh all members, so when I
> > try to set the 'sKey = col1.Key' the last element was read and its KEY
> > returned.
> > The Watch-Window shows the right value. But also the col1 collection in
> > the Watch-Window 'derange' to find the right col1.key
> > 
> 
> Yes, that is exactly the problem. But I don't see any good fix for Gambas 2 at 
> the moment. For Gambas 3, I can change the behaviour of Collection.Key so that 
> it returns the last enumerated element, not the last read one (the debugger 
> does not enumerate the collection, it just read it).
> 
> Regards,
> 

Salut Benoit,

I'v looked in the IDE. I also don't see where we can stop/arrange that.
So I think we should add a warning , to the documentation!  


-- 
Amicalement
Charlie





More information about the User mailing list