![]() |
Problem mit Search procedure
Hi all.
Kann mir jemand hierbei helfen. Immer wenn ich mit dieser ![]() --------------------------- Benachrichtigung über Debugger-Exception --------------------------- Im Projekt TXT.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 00456CB2 in Modul 'TXT.exe'. Lesen von Adresse 00000000' aufgetreten. Hier mal der Code:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls, ComCtrls, StdCtrls; type TForm1 = class(TForm) MainMenu1: TMainMenu; Memo1: TMemo; Splitter1: TSplitter; Datei: TMenuItem; Aktualisieren1: TMenuItem; ListBox1: TListBox; procedure Aktualisieren1Click(Sender: TObject); private { Private-Deklarationen } public mompath:string; files:TStrings; { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure FindAllFiles(var FileList: TStrings; RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True); var SR: TSearchRec; begin RootFolder := IncludeTrailingPathDelimiter(RootFolder); if Recurse then if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory = faDirectory then if (SR.Name <> '.') and (SR.Name <> '..') then FindAllFiles(FileList, RootFolder + SR.Name, Mask, Recurse); until FindNext(SR) <> 0; finally FindClose(SR); end; if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then try repeat if SR.Attr and faDirectory <> faDirectory then begin FileList.Add(RootFolder + SR.Name); // hier tritt der Fehler auf end; until FindNext(SR) <> 0; finally FindClose(SR); end; end; procedure TForm1.Aktualisieren1Click(Sender: TObject); var i:integer; begin FindAllfiles(files,'C:\Programme\Selfmade\Reader\TXT files','*.txt',false); for i:=0 to files.count -1 do Listbox1.Items.addObject(extractFileName(files.Strings[i]),TObject(files.Strings[i])); end; end. |
Re: Problem mit Search procedure
und wo wird deine StringListe "files" erzeugt?
|
Re: Problem mit Search procedure
Danke für den Hinweis.
Jetzt geht's. |
Re: Problem mit Search procedure
Wieso wird die Liste eigentlich als Var-Parameter übergeben? :gruebel:
|
Re: Problem mit Search procedure
Weil ich sie noch mehrmals im programm brauchen werde.
|
Re: Problem mit Search procedure
Ich meinte den Funktionskopf.
Zitat:
|
Re: Problem mit Search procedure
Da musst du
![]() |
Re: Problem mit Search procedure
Gut, dann schau Du mal
![]() |
Re: Problem mit Search procedure
Hallo,
wenn Du Code von irgendwo kopierst, dann ist das vollkommen ok. Allerdings solltest Du um deinetwillen auch versuchen, das Ganze zu verstehen. Zitat:
=> nachholen? ;) |
Re: Problem mit Search procedure
Ich habs verstanden.
Die Stringlist wird während der Procedure verändert also muss des eine variable sein. Weis aber jetzt dass man Stringlisten erstellen/freigeben muss. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz