AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Problem mit Search procedure

Ein Thema von Darksniper · begonnen am 29. Apr 2008 · letzter Beitrag vom 29. Apr 2008
Antwort Antwort
Seite 1 von 2  1 2   
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#1

Problem mit Search procedure

  Alt 29. Apr 2008, 13:08
Hi all.

Kann mir jemand hierbei helfen.
Immer wenn ich mit dieser procedure suche dann tritt eine Exeption auf.

---------------------------
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.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:10
und wo wird deine StringListe "files" erzeugt?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:16
Danke für den Hinweis.
Jetzt geht's.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:26
Wieso wird die Liste eigentlich als Var-Parameter übergeben?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:30
Weil ich sie noch mehrmals im programm brauchen werde.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:32
Ich meinte den Funktionskopf.
Zitat:
procedure FindAllFiles(var FileList: TStrings;...
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:42
Da musst du hier schauen:
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 13:46
Gut, dann schau Du mal hier
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#9

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 14:12
Hallo,

wenn Du Code von irgendwo kopierst, dann ist das vollkommen ok.
Allerdings solltest Du um deinetwillen auch versuchen, das Ganze zu verstehen.

Zitat von Darksniper:
Da musst du hier schauen:
zeigt, dass Du es in diesem Fall nicht verstanden hast.

=> nachholen?
  Mit Zitat antworten Zitat
Darksniper

Registriert seit: 9. Jul 2007
102 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Problem mit Search procedure

  Alt 29. Apr 2008, 14:23
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:00 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