Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehlersuche - In Stringlist suchen (https://www.delphipraxis.net/127619-fehlersuche-stringlist-suchen.html)

Grolle 16. Jan 2009 08:03


Fehlersuche - In Stringlist suchen
 
Hallo,

ich bekomme beim durchsuchen einer Strungliste immer eine Exception, aber ich find den Fehler nicht (um diese Uhrzeit):
Delphi-Quellcode:
var  
inStueckliste, inKomponentenliste : TStringList;
iLoop, iCount, i : integer;
searchKey, findKey, findItems : string;
tmpStueck, tmpKomp : TStringDynArray;
begin
  if (AdvFileNameEdit1.Text <> '') and (AdvFileNameEdit2.Text <> '') then
  begin
    inStueckliste := TStringList.Create;
    inKomponentenliste := TStringList.Create;
    inKomponentenliste.LoadFromFile(AdvFileNameEdit1.Text);
    inStueckliste.LoadFromFile(AdvFileNameEdit2.Text);
    for iLoop := 0 to inKomponentenliste.Count - 1 do
    begin
      tmpKomp := explode(';',inKomponentenliste[iLoop]);
      searchkey := tmpKomp[11];
      for iCount := 0 to inStueckliste.Count - 1 do
      begin
        tmpStueck := explode(';',inStueckliste[iCount]);
        findKey := tmpStueck[3];
        if searchKey = findKey then
        begin
          if MessageDlg('Datensatz ' + searchkey + ' wurde!Übernehmen?',mtConfirmation,[mbYes,mbNo],0) = mrYes then  ShowMessage('Wird gemacht!');
        end; {if (searchKey = findKey) then}
      end; {for iCount := 0 to inStueckliste.Count - 1 do}
    end; {for iLoop := 0 to inKomponentenliste.Count - 1 do}
    inStueckliste.Free;
    inKomponentenliste.Free;
  end;
Die Exception passiert nach dem ersten Schleifendurchlauf der äußeren Schleife.

Viele Grüße ...

mquadrat 16. Jan 2009 08:07

Re: Fehlersuche - In Stringlist suchen
 
Magst du uns noch mitteilen, welche Exception geworfen wird? Könnte helfen. ;)

Fussball-Robby 16. Jan 2009 08:07

Re: Fehlersuche - In Stringlist suchen
 
In welcher Zeile tritt der Fehler auf? Und welcher überhaupt? Schonmal mit Breakpoint und F7 durchgegangen? Ich würde spontan darauf tippen, dass eine der Listen zu klein ist und du auf ein zu hohes Element zugreifen willst.

hazard999 16. Jan 2009 08:08

Re: Fehlersuche - In Stringlist suchen
 
<Glasskugel>
ich tipp mal auf

Delphi-Quellcode:
      searchkey := tmpKomp[11];
oder

Delphi-Quellcode:
        findKey := tmpStueck[3];
Schaut nach Range-Check-Error aus.
</Glasskugel>

Grolle 16. Jan 2009 08:09

Re: Fehlersuche - In Stringlist suchen
 
Na gut :roll:
Zitat:

Erste Gelegenheit für Exception bei $7C812AEB. Exception-Klasse EAccessViolation mit Meldung 'Zugriffsverletzung bei Adresse 00404A24 in Modul 'Project1.exe'. Lesen von Adresse 6E656E5E'. Prozess Project1.exe (2500)

hazard999 16. Jan 2009 08:11

Re: Fehlersuche - In Stringlist suchen
 
dann wird explode wohl nil zurückgeben

Grolle 16. Jan 2009 08:22

Re: Fehlersuche - In Stringlist suchen
 
Danke für eure Hinweise, es lag tatsächlich am
Delphi-Quellcode:
searchkey := tmpKomp[11];
Die Liste war am Ende jeder Zeile ungleich aufgebaut.

Viele Grüße ....


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 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