hi,
nutze gerade für mein
irc-projekt eine tstringlist um meine eigenen objekte vom typ TChannel zu managen. dabei erstelle ich für jeden chan, der vom bot überwacht werden soll, ein objekt, wo alle relevanten daten drinnestehn (channelname, channelpassword, commands die benutzt werden dürfen...)
die objekte erstelle ich so:
ID := ChannelList.AddObject(lowercase(Channelname),TChannel.Create(Channelname,ChannelPW));
dann kann ich beim onmessage-event jedesmal mit
Delphi-Quellcode:
if channellist.Find(lowercase(AChannel.Name),ID) then
TChannel(channellist.objects[ID]).methodexy
darauf reagieren. doch manchmal findet die function find den channelnamen nicht, da ich das beim hinzufügen neuer channels auch so abfrage, is es schon vorgekommen, das ich channels doppelt hinzugefügt hab, obwohl ich es abgefangen hab. manchmal erscheint die meldung das der channel schon in der liste ist, und manchmal nicht... beim hinzufügen setze ich auch alles auf lowercase.
ist die stringlist fehlerhaft? sollte ich lieber tobjectlist verwenden?
habe die stringlist der objectlist vorgezogen, weil ich die findfunction gesehen hab ich fauler hund, und nun bereue ich es