AGB  ·  Datenschutz  ·  Impressum  







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

index wird ohne aufruf auf 0 gesetzt

Ein Thema von Nicodius · begonnen am 20. Mai 2005 · letzter Beitrag vom 21. Mai 2005
Antwort Antwort
Seite 1 von 2  1 2      
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#1

index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 20:08
ich habe hier eine Methoe schauenundhinzufuegen()

bevor ich in die schleife " For i := 0 to index-1 do" komme ... ist der idnex schon auf 0 ... obwohl er vorher fuenf oder hoeher war - es kann nur in diesem codesegment passiert sein :




bitte kann mir wer helfen den Fehler zu finden? (ich habe schon durchgestept)

Delphi-Quellcode:
procedure SchauenUnsHinzufuegen();
var i : Integer;
    theimg : TImage;
begin
for i := 0 to Length(SelList) do
  SelList[i] := nil;
theimg := TImage.Create(Form1);
  For i := 0 to index-1 do
  begin

  theimg := TImage(Form1.FindComponent('Soldier_' + IntToStr(i)));
    if (theimg.Left >= Auswahlrec.Left) then
    if (theimg.left + theimg.width > Auswahlrec.Right) then
    if (theimg.top >= Auswahlrec.Top)
    then
    if (theimg.Top + theimg.Width > Auswahlrec.Bottom)
      then
      begin
        selList[i] := theimg;
        theimg.Picture.LoadFromFile(ExtractFilePath(ParamStr(0))+ '\Bilder\standSel.bmp');
      end;
    //Form1.caption := Form1.caption + ' + Soldier' + IntToStr(i);
  end;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  z := false;
  Form1.Canvas.Refresh;
  Form1.Canvas.Draw(0,0,zurueck);
  Auswahlrec := Rect(Min(X,X), Min(Y,Y), Max(XX,XX), Max(YY, YY));
  SchauenUnsHinzufuegen();
  Form1.Repaint;
end;
danke

Mooreel
Nico Müller
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#2

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 20:46
Wo ist index deklariert?
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#3

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:08
globale variable, wirt mit 0 initialisiert - on bei jedem Onmousedown um 1 erhöht
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:12
Delphi-Quellcode:
for i := 0 to Length(SelList) do
  SelList[i] := nil;

// Hiernach ist i undefiniert - wie immer bei Schleifenvariablen nach einer Schleife.
// Würdest du nachher etwas wie
  variable := i;
// scheiben, mekert der Compiler auch genau das an ;)

theimg := TImage.Create(Form1);
  For i := 0 to index-1 do
  begin

Schönen Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#5

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:16
index <> i


  index, index2 : Integer;
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:17


aber i hat doch mit index nix zu tun?
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#7

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:33
ja sag ich doch ?


index kommt nur 2 mal vor und zwar beim initialisieren und beim raufzählen .. wies auf 0 gesetzt wird kann ich nicht nachvollziehen.
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:37
Wenn man nicht gaaanz genau liest... sorry.

Ich vermute mal du hast irgendwo ein Array, und die Bereichsprüfung aus, und jagst irgendwo über die Arraygrenze hinweg, und erwischt zufällig "index". Ist vor der Deklaration von "index" evtl. sogar ein Array deklariert? Dann wäre es nämlich sehr sehr wahrscheinlich {edit: anderenfalls aber auch nicht unwahrscheinlich}.
Bereichsüberschreitungen sind immer wieder gerne für solche Effekte gut
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#9

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:40
Sind evtl. noch andere Variablen / Properties mit dem gleichen Namen irgendwo deklariert? Ich vermute, dass hier auf einen andere Variable als gedacht zugegriffen wird.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: index wird ohne aufruf auf 0 gesetzt

  Alt 20. Mai 2005, 21:41
Zitat von Nicodius:
globale variable, wirt mit 0 initialisiert - on bei jedem Onmousedown um 1 erhöht
Hier war doch ein Thread, warum "globale Variablen verteufelt werden". Genau wegen so was !! Wetten, daß in deinem OnDraw etc. irgendwo der Wert geändert wird ? Deshalb ist die Stelle, an der initialisiert wird äußerst wichtig. Und da wirst du wohl die falsche erwischt haben. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:05 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