AGB  ·  Datenschutz  ·  Impressum  







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

AV bei FindNext

Ein Thema von Flare · begonnen am 24. Mai 2006 · letzter Beitrag vom 24. Mai 2006
Antwort Antwort
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#1

AV bei FindNext

  Alt 24. Mai 2006, 15:45
Hey ho!

Ich habe hier folgenden Code:
Delphi-Quellcode:
function getdirs(pfad: string): TStrings;
var search: TSearchRec;
begin
  if FindFirst(pfad, faAnyFile, search)=0 then
  begin
    repeat
      Result.Add(search.Name);
      Showmessage(search.Name);
    until FindNext(search)<>0;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  getdirs('Y:\*.*');
end;
Wobei hier bitte nicht darum gestritten wird warum die Funktion getdirs heist, ich aber alle Dateien abfrage, das ändere ich später.
Mein Problem hier ist, diese Funktion klappt halbwegs. FindFirst wird erfolgreich aufgerufen, FindNext dann auch, das 2. mal Findnext auch, nur beim dritten mal (komischerweise immer das dritte Mal, egal welchen Ordner ich zum Aufruf benutze) bekomme ich ne AV.
Woher kommt die, bzw. wie bekomme ich die weg?

Ich wäre für Lösungen sehr dankbar!


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: AV bei FindNext

  Alt 24. Mai 2006, 16:04
Hi!

Es wundert mich eigentlich mehr, daß es schon beim ersten Mal funktioniert. Ich vermisse die Zeile, in der die Result-Stringliste erzeugt wird. Zudem verwirfst du beim Aufruf der Funktion deren Rückgabewert. Es wäre vielleicht besser, der Funktion eine vorbereitete Stringliste zu übergeben und die Funktion in eine Prozedur umzuwandeln.

Noch eine Anmerkung: einen FindClose-Aufruf solltest du noch einbauen.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#3

Re: AV bei FindNext

  Alt 24. Mai 2006, 16:07
Gut, ich habe in der zwischenzeit das ganze als Prozedur gebaut, was das in eine vorhandene Liste (wie du sagtest) direkt einbaut. Und dass man eine Stringlist erst erzeugen muss ist mir neu, ich arbeite sonst immer mit ListBoxen, die scheinen das ja selber zu machen

Danke! Problem gelöst!

Flare
Willy Scheibel
  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
 
#4

Re: AV bei FindNext

  Alt 24. Mai 2006, 16:22
jop, auch ein Memo erzeugt die stringliste selbst. Denn ein memo ohne strings wäre irgendwie - witzlos. Ansonsten musst du das aber natürlich selbst erzeugen und auch wieder freigeben, wenn du damit fertig bist.
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
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 05:39 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