reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Delphi 2009 - TDictionary problem

Pabler (425)|2.3.2011 12:01
Zdravím, pracujem na jednom projekte, ktory vyzaduje tvorbu v Delphi, nebudem to rozpisovat do hlbky ale mam nasledovny problem:

Mam triedu, kde mam deklarovany slovnik nasledovne:

aDic : TDictionary;

kde string je nazov generatora
a TGeneratorType typ generatora, (pre jednotne plnenie comboboxov a pod)

plnenie vyzera nasledovne:
aDic.Add('Normálne rozdelenie',gtNormal);
.
.
.
Naplni sa to bez problemov, problem nastane, ked sa snazim dostat von vsetky kluce, teda nazvy generatorov ...


funkcia na vyber klucov vyzera nasledovne:

procedure TGenStringList.FillGeneratorsStrings(fillTo: TStrings);
var key: String;
begin
for key in aDic.Keys do
Begin
//fillTo.Add(key);
End;
raise exception.Create('Dosiel som sem');
end;


moju vynimku to ani nevyvola, spadne to pocas prechodu slucky "for key in", ... presnejsie po nacitani poslednej hodnoty
exception: EIntOverflow - Integer Overflow


Vzhladom na to, ze funkcia nerobi absolutne nic len prejde cez kluce, tak mi to pride trosku podivne,
neviete niekto v com je pes zakopany ?

Pokial exception odignorujem, vsetky vlozene hodnoty to korektne nacita do stringlistu,
dalej som si vsimol, ze vynimku nevyhodi ak pridam do slovnika menej poloziek (momentalne pridavam 6 neprejavi sa to pri pridani 3)

Dany sposob prechodu cez kluce je uvedeny dokonca priamo v examples napovedy
Pabler (425)|3.3.2011 12:15
OK, vyriesene

ocividne stacilo vypnut zapnut delphi a prestalo to hadzat vynimku

//Skutocne vychytane studio, Worth every penny !!! :runaway
Pabler (425)|4.3.2011 09:45
Och tak novy problem, ...
vypisem si count slovnika, vrati 6
spravím predchod, vrati 7 prvkov (jeden s empty string klucom)

//tak pre vsetkych co sa tu raz ocitnu, pouzite hashtable/dictionary z tretej strany alebo si spravte vlastny, ...

osobne uplne stracam nadej ze delphi bude este dakedy aspon na polovicu take popularne ako bolo ...


//OMG, fakt prehliadam chybu v takejto elemetarne blbosti, alebo je to cele hodne akurat do sekcie vtipov a bug report do Embarcadera ?