AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listenindex überschreitet das Maximum

Offene Frage von "Lucky83"
Ein Thema von Lucky83 · begonnen am 17. Nov 2005 · letzter Beitrag vom 17. Nov 2005
Antwort Antwort
Lucky83

Registriert seit: 1. Dez 2004
28 Beiträge
 
#1

Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 11:41
Hallo,

ich hab auf einer Outlookbar ein Button liegen und möchte je nach dem die Caption von dem Button ändern

Code:
for i:= 0 to jvoutlookbar1.ActivePage.Buttons.Count-1 do
      JvOutlookBar1.ActivePage.Buttons[i].Caption:= 'Test'
und das komische ist, dass es oft klappt und ab und zu aber diese Fehlermeldung "Listenindex überschreitet das Maximum(1)" kommt.
Kann es sein, dass die Outlookbar da Schwierigkeiten macht?

Grüßle
Lucky
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 12:10
Hi,
du solltest immer prüfen ob es mindestens ein Element gibt, wenn du über eine Menge iterierst. Das ist ein genereller Tip, einfach weil es sauber ist, könnte auch bei dir schon das Problem sein

Delphi-Quellcode:
if jvOutlookBar1.ActivePage.Buttons.Count > 0 then
  begin
    for i := 0 to jvOutlookBar1.ActivePage.Buttons.Count - 1 do
      begin
        // whatever
      end; // for i := 0 to jvOutlookBar1.ActivePage.Buttons.Count - 1
  end; // if jvOutlookBar1.ActivePage.Buttons.Count > 0
So springt Delphi nie in die for-Schleife, wenn es weniger als ein Element gibt. Während du bei 0 Buttons immer noch einen Durchlauf hast.
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 12:12
Bei 0 Button würde die Schleife doch von 0 bis -1 gehen. Hat man da wirklich einen Durchlauf? glaube nicht oder?
Also bei
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 i : integer;
begin
for i:= 0 to -1 do
 ShowMessage('OK');
end;
erscheint nie ein ShowMessage.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 12:20
Zitat von Angel4585:
Bei 0 Button würde die Schleife doch von 0 bis -1 gehen. Hat man da wirklich einen Durchlauf? glaube nicht oder?
Es kommt darauf an, wie i deklariert wurde. Deklariere es als Byte und die siehst den Durchlauf oft genug

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Lucky83

Registriert seit: 1. Dez 2004
28 Beiträge
 
#5

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 12:45
Danke, jetzt hab ich es ein paar Mal getestet und es kam keine Fehlermeldung.
Es gab zwar den Button und er ging auch in die Schleife rein.....strange..

hatte i als Integer deklariert und es gab auch einen Durchlauf, da es ja auch einen Button gab...

Hoffe das hält jetzt. Werde es noch ein paar Mal testen...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 13:33
Zitat von Lucky83:
Hoffe das hält jetzt.
Programmiesrt du mit Patex?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Lucky83

Registriert seit: 1. Dez 2004
28 Beiträge
 
#7

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 15:22
Nein mit delphi!...

Und die Fehlermeldung kommt immer noch. Hab keine Ahnung warum sie manchmal kommt und manchmal nicht....
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 15:34
mach mal

for i:= jvOutlookBar1.ActivePage.Buttons.Count - 1 downto 0 do vielleicht hilfts ja

schreibt doch mal bissl mehr code hier rein, vielleicht liegt das Problem wo ganz anders.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Lucky83

Registriert seit: 1. Dez 2004
28 Beiträge
 
#9

Re: Listenindex überschreitet das Maximum

  Alt 17. Nov 2005, 16:07
Hat leider nicht geholfen..
Also ich erzeuge meinen Button folgenderweise:
Delphi-Quellcode:
procedure TFrmCRMMain.addJvOutlookButton(page:Integer;BtnIndex:Integer;Caption:Str15;ImgIndex:Integer;tag:Integer);
begin
  jvoutlookbar1.Pages[page].Buttons.Insert(BtnIndex);
  jvoutlookbar1.Pages[page].Buttons[BtnIndex].ImageIndex:=imgIndex;
  jvoutlookbar1.Pages[page].Buttons[BtnIndex].Caption:=caption;
  jvoutlookbar1.Pages[page].Buttons[BtnIndex].tag:=Tag;
end;
danach öffne ich das Formular und aktuallisiere die "Caption" über einen Timer wie oben beschrieben.
Das komische ist ja, dass die Fehlermeldung nicht immer kommt und ich konnte keinen Unterschied festetllen. Er durchläuft jedesmal einmal die for-Schleife....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz