Delphi 2009 - TDictionary problem
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
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
OK, vyriesene
ocividne stacilo vypnut zapnut delphi a prestalo to hadzat vynimku
//Skutocne vychytane studio, Worth every penny !!! :runaway
ocividne stacilo vypnut zapnut delphi a prestalo to hadzat vynimku
//
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 ?
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 ?