Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sta znaci ova greska

[es] :: Pascal / Delphi / Kylix :: Sta znaci ova greska

Strane: 1 2

[ Pregleda: 5436 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Sta znaci ova greska30.07.2017. u 21:03 - pre 81 meseci
Sta predstavlja ova greska

"EStringListError
: list index out of bounds (-1)
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sta znaci ova greska30.07.2017. u 21:23 - pre 81 meseci
> Sta predstavlja ova greska
> "EStringListError
> : list index out of bounds (-1)

Ne znam u kojoj ti se to klasi desava, pravilo za sve list index out of bonds greske je da pristupas indexu elementa koji ne postoji.

Npr.

Code:

var
  s: TStrings;
begin
  s := TStringList.Create;
  s.Add('Pera');
  s.Add('Mika');
  s.Add('Laza');

  ShowMessage(s[2]); // OK
  ShowMessage(s[5]); // Greska, lista sadrzi 3 elementa stoga je najvisi indeks 2
  ShowMessage([s[-1]); // Greska, pocetni indeks svih listi je 0.

  s.Free;
end;

 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska30.07.2017. u 21:32 - pre 81 meseci
Meni se recimo desava ovde...i sto je zanimljivo ne pojavljuje se kada kliknem misem,vec samo kada koristim tastaturu,konkretno enter za odabir i prelaz u drugo polje....

procedure TFrmStanje.ComboBox4DropDown(Sender: TObject);
begin
with ADOQuery5 do
begin


combobox4.Clear;
Close;
SQL.Clear;
SQL.Add('select distinct karoserija,tblkaroserijaid from Tblkaroserija');

Open;

while (not Eof) do
begin
comboBOX4.Items.AddObject(FieldByName('karoserija').AsString,
TObject(FieldByName('tblkaroserijaid').AsInteger));
Next;
end;

end;

end;
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sta znaci ova greska30.07.2017. u 21:54 - pre 81 meseci
U DropDown eventu ComboBoxa mu brises i punis sadrzaj? Vrlo moguce da to ne moze tako, probaj da to radis ranije (tipa on Enter) ili pokusaj da ubacis BeginUpdate/EndUpdate pozive pre brisanja i nakon punjenja.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska30.07.2017. u 22:20 - pre 81 meseci
Probao sam vec sa begin/end update i to ne sljaka,ali ako pokusam da brisem na eventu on enter,tu se desava sledece da kada pokusam da filtriram combobox,sa recimo kar,ono izadje selektovano karavan,jedino to sto je selektovano pokazuje gresku sa indeksima,ako izaberem nesto drugo,prikaze mi sta treba....
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska30.07.2017. u 22:36 - pre 81 meseci
Mislim da nije problem brisanje,nego ovaj dropdown,sto sam postavio na true,jer iako izbacim skroz taj clear,opet je isto.....mada se tada u combobox uvecava za jos toliko,tj duplira sve rekorde
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska30.07.2017. u 22:53 - pre 81 meseci
Uspeo sam,ili bar za sada,nece jedino taj sto sam selektovao,stavio sam u kodu posle punjenja...

combobox4.ItemIndex := 0;

i onda hoce...
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska30.07.2017. u 23:10 - pre 81 meseci
U stvari,ne prijavljuje gresku sada,ali daje pogresne podatke....
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
*.e-info.ba.



+62 Profil

icon Re: Sta znaci ova greska31.07.2017. u 08:56 - pre 81 meseci
Pokusaj ovo: posle svake operacije sa combobox-om (Clear, AddObject) ubaci liniju

Code:
  Application.ProcessMessages;


Mada se to NE radi u DropDown event-u, vec u nekom key eventu (vezano za unos); ili ako ima neki textchange event (to ce biti jos najbolje).

Pozz

 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska31.07.2017. u 10:35 - pre 81 meseci
Nece ni tada isto mi je,ako dodam u event combobox on change,tu izbacuje gluposti...Meni treba da u tom combobox prikaze karavan,limuzina itd,a da mi zapamti ovaj tobject,odnosno njegov id,znaci brojeve 1,2,3
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska31.07.2017. u 10:37 - pre 81 meseci
Mada mi je zanimljivo da nece samo taj koji je prvi obelezen kao rezultat filtracije,ako idem strelicama po podacima i vratim se na taj ,tada hoce,kao i svaki drugi....

I jos nesto,posto mi trebaju iz comboboxa ovi id-ovi,sakriveno polje,stavio sam u combobox eventu on exit,ovaj podatak i posle njega message da vidim da li mi izlazi pravi broj id....i tu mi prijavljuje gresku na tom kodu...
,
sifrakaroserije:= INTEGER(TObject(ComboBox4.Items.Objects[ComboBox4.ItemIndex]));
showmessage....sifrakaroserije



[Ovu poruku je menjao popmilan76 dana 31.07.2017. u 12:05 GMT+1]
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
212.200.247.*



+5 Profil

icon Re: Sta znaci ova greska31.07.2017. u 19:36 - pre 81 meseci
Ima li nekog helpa u vezi ovoga?Inace,ako postoji neki drugi nacin,da prikaze jedno polje,a da pamti drugo?
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sta znaci ova greska31.07.2017. u 19:59 - pre 81 meseci
Negde gresis, sad je to tesko reci bez konkretnog koda, ovako radimo napamet. Ako mozes posalji kratak primer koji ne radi pa ce neko vec pogledati.
Alternativno resenje moze biti da ostavis dataset otvoren i da iz njega kasnije citas zeljeni ID.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska31.07.2017. u 20:21 - pre 81 meseci
Dakle,imam kod u combobox eventu dropdown,koji izgleda ovako...

procedure TFrmStanje.ComboBox4DropDown(Sender: TObject);
begin
with ADOQuery5 do
begin

combobox4.Clear;

Close;
SQL.Clear;
SQL.Add('select distinct karoserija,tblkaroserijaid from Tblkaroserija');

Open;
first;
while (not Eof) do
begin
comboBOX4.Items.AddObject(FieldByName('karoserija').AsString,
TObject(FieldByName('tblkaroserijaid').AsInteger));



Next;

end;

end;

end;

end.


I na istom comboboxu,u eventu on exit,postavio sam ovaj kod da vidim kupi li tobject kada izadje iz tog polja...

sifrakaroserije:= INTEGER(TObject(ComboBox4.Items.Objects[ComboBox4.ItemIndex]));
showmessage(inttostr(sifrakaroserije));

I to sve radi sa misem kada sve radim,a tastaturom nece,i to nece samo onaj koji je prvi selektovan...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sta znaci ova greska31.07.2017. u 21:55 - pre 81 meseci
> I to sve radi sa misem kada sve radim,a tastaturom nece,i to nece samo onaj koji je prvi selektovan...

Ukljuci use debug dcu, uradi rebuild, postavi breakpoint na tu liniju pa polako idi kroz Delphi klase dok ne vidis gde tacno (i zasto) puca.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska31.07.2017. u 22:08 - pre 81 meseci
Googlao sam i googlao i na mnostvo mesta sam nasao da je rec o bagu kada je rec combobox,da je lose dizajnirano i da se moze resiti samo u kodu....a gresku mi pojavljuje ovde....

sifrakaroserije:= INTEGER(TObject(ComboBox4.Items.Objects[ComboBox4.ItemIndex]));


Inace ovakav kod sam koristio i u prethodnim projektima,ali sam birao podatke preko edita i otvarao dbgrid iz druge forme,pa ih vracao nazad,i to je radilo,ali mi je sada ovde lakse...ovako,da ne otvaram suvisno nove forme...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Sta znaci ova greska31.07.2017. u 22:16 - pre 81 meseci
> Googlao sam i googlao i na mnostvo mesta sam nasao da je rec o bagu kada je rec combobox,da je lose dizajnirano i
> da se moze resiti samo u kodu....a gresku mi pojavljuje ovde....

> sifrakaroserije:= INTEGER(TObject(ComboBox4.Items.Objects[ComboBox4.ItemIndex]));

Cudno mi je da radi sa misem a ne preko tastature. Mislio sam da nadjes gresku u Delphi kodu (kodu kontrole), ovo je linija iz tvog koda, ako ukljucis debug dcus, mozes sa F7 da zaronis u VCL kod i vidis sta se na licu mesta desava, to je jedino relevantno, ovako samo mozemo nagajdjati.
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska01.08.2017. u 13:27 - pre 81 meseci
Ne znam ja to uraditi...pokusao sam i nesto ne ide...cekirao sam debug dcu i f7 i nista...
Da li je ovo jedini nacin,da uradim ovako nesto ili moze nestoi drugo...
 
Odgovor na temu

tkaranovic
Tomislav Karanović
Beograd

Član broj: 220507
Poruke: 307



+18 Profil

icon Re: Sta znaci ova greska01.08.2017. u 19:49 - pre 81 meseci
Kad zavrsis sa punjenjem:

comboBOX4.Items.AddObject(FieldByName('karoserija').AsString,
TObject(FieldByName('tblkaroserijaid').AsInteger));

...

stavi:

comboBOX4.ItemIndex := 0;
 
Odgovor na temu

popmilan76

Član broj: 295089
Poruke: 1337
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Sta znaci ova greska01.08.2017. u 19:57 - pre 81 meseci
Probao i ne izlazi mi greska,ali mi izlazi pogresan podatak,treba da bude pod karavan broj 3,a izlazi mi 2....
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Sta znaci ova greska

Strane: 1 2

[ Pregleda: 5436 | Odgovora: 39 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.