AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Listenindex überschreitet das Maximum
Thema durchsuchen
Ansicht
Themen-Optionen

Listenindex überschreitet das Maximum

Ein Thema von Lucky83 · begonnen am 27. Sep 2005 · letzter Beitrag vom 27. Sep 2005
Antwort Antwort
Lucky83

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

Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:12
Hallo

ich habe folgene Procedure mit der ich Buttons in einer Outlookbar dynamisch erzeuge:

procedure addJvOutlookButton(page:Integer;BtnIndex:Integer;C aption: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;

Während des Programms erstell ich dann folgenden Button:
addJvOutlookButton(0,0,'Test',42,102);

später möchte ich dann die Caption des Buttons ändern:
JvOutlookBar1.ActivePage.Buttons[102].Caption:='Test2';

dabei kommt immer die Fehlermeldung: Listenindex überschreitet das Maximum (102)

Kann mir da jemand weiterhelfen?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:16
Bitte setze die [delphi]-Tags um die Code-Blöcke.

Die Meldung heißt soviel, dass es den Index 102 nicht gibt. Ich weiß nicht, wo du das aufrufst (Schleife?), doch ich denke, irgendwas lässt du von 1 - 102 laufen, anstatt von 0 - 101, oder so ähnlich. Kann es aber nur vermuten.
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:18
Benutz doch bitte die Delphi-Tag's ...
Der Fehler sieht mir stark nach vergessenem -1 aus .. Sprich Index fängt bei 0 nicht bei 1 an
Benutzt du ne Schleife zum erstellen ??


EDIT: ... misst .. zu lahm ^^
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:19
Du erstellst den Button ja unter Pages[page] und versuchst dann über ActivePage wieder darauf zuzugreifen.
Bist du dir sicher, daß ActivePage und Pages[page] das selber ist, oder zumindestens in der ActivePage mindestens 103 Buttons rumliegen?
$2B or not $2B
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:20
Hallo Lucky83,

dein Button hat den Index 0 und den tag value 102, du verwendest aber den tag value als index - macht das Sinn?

Grüße vom marabu
  Mit Zitat antworten Zitat
Lucky83

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

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:31
Also ich will es zwar in einer for-Schleife aufrufen (hatte -1 nicht vergessen), aber da immer der Fehler kan hab ich zum Testen jetzt einfach einen Button angelegt. Durch klicken soll sich dann die Caption ändern.
Ich hab mehrer pages, welche mehrere Buttons enthalten. Auf der Page auf der ich mich gerade befinde (also activePage) gibt es 6 Buttons und der Button mit dem Tag 102 soll geändert werden.
Ist das verständlich? War im erklären noch nie gut und bin ebenfalls noch Anfänger.

@marabu
die procedure war schon vorhanden. Soll Update an dem Programm vornehmen. Wie soll ich es denn sonst machen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:35
Na dann ist's doch klar.

Es gibt 6 Buttons, demnach Index 0 bis 5.

Also wird es dort keinen Button mit dem Index 102 geben
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:36
Aber der Button mit dem Tag 102 hat ja nicht auch den Index 102. Aber genau den versuchst du später mit
JvOutlookBar1.ActivePage.Buttons[102].Caption:='Test2'; aufzurufen. Der existiert aber nicht, da du ja schließlich nur 6 Buttons hast. Entweder, du merkst dir anstatt des Tags den Index, oder du schreibst dir eine Funktion, die dir den Index eines Buttons anhand seines Tags zurückgibt.

//Edit:
ZB:
Delphi-Quellcode:
function GetBtnIndexByTag(aPage, aTag : Integer) : Integer;
begin
  Result := high(jvoutlookbar1.Pages[aPage].Buttons);
  while (Result >= low(jvoutlookbar1.Pages[aPage].Buttons)) and
        (jvoutlookbar1.Pages[aPage].Buttons[Result].Tag <> aTag) do
    dec(Result);
end;
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Lucky83

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

Re: Listenindex überschreitet das Maximum

  Alt 27. Sep 2005, 14:37
*mist*
ja danke, wenn man mal auf dem Schlauch steht...........
  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 23:31 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