Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Abstrakter Fehler beim auslesen von Ordner (https://www.delphipraxis.net/157363-abstrakter-fehler-beim-auslesen-von-ordner.html)

Fussel9 9. Jan 2011 17:47

Delphi-Version: 2006

Abstrakter Fehler beim auslesen von Ordner
 
Hi ich hab den Quelltext von hier:http://www.delphipraxis.net/108297-v...re-masken.html

in mein projekt eingebunden aber ich bekomme immer die meldung : ''Im Projekt ist eine Exception der Klasse EAbstractError mit der Meldung 'Abstrakter Fehler' aufgetreten.''


Hier der relevante Quelltext...
wenn ich auf Anhalten klicke steht er auf : '' until FindNext(SR) <> 0; '' in der FindAllFiles procedure

Titelliste ist als globale variable deklariert

Delphi-Quellcode:
procedure TFormMain.BLoadClick(Sender: TObject);
var
  i: Integer;
  titel: TInhalt;
begin
Findallfiles(Titelliste,EPfad.Text,['.mp3','.wav'],True);
//for i := 0 to Titelliste.count - 1 do
//  begin
//    //code
//    chatserver.titeleinfuegen(titel);
//  end;
ShowMessage(Titelliste[1]);
mprot.Visible:=True;
mteil.Visible:=True;
Label5.Visible:=True;
Label1.Visible:=True;
SBackgr.Visible:=False;
Label3.Visible:=False;
EPfad.Visible:=False;
BLoad.Visible:=False;
end;



procedure TFormMain.FindAllFiles(const FileList: tstrings;RootFolder: string; Maske: array of string; Recurse: Boolean = True);
var
  SR: TSearchRec;
  i : integer;
begin
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then
            // --> ein Verzeichnis wurde gefunden
            // der Verzeichnisname steht in SR.Name
            // der vollständige Verzeichnisname (inkl. darüberliegender Pfade) ist
            // RootFolder + SR.Name
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(FileList, RootFolder + SR.Name, Maske, Recurse);
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  i := 0;
  repeat
    begin
      if FindFirst(RootFolder + '*' + Maske[i], faAnyFile, SR) = 0 then
      try
        repeat
          if SR.Attr and faDirectory <> faDirectory then
          begin
            // --> eine Datei wurde gefunden
            // der Dateiname steht in SR.Name
            // der vollständige Dateiname (inkl. Pfadangabe) ist
            // RootFolder + SR.Name
            FileList.Add(RootFolder + SR.Name);
          end;
        until FindNext(SR) <> 0;
      finally
        FindClose(SR);
      end;
      i := i + 1;
    end
  until
    i = high(maske) + 1;
end;

procedure TFormMain.FormCreate(Sender: TObject);
begin
Titelliste:=TStrings.Create;
end;

Uwe Raabe 9. Jan 2011 18:20

AW: Abstrakter Fehler beim auslesen von Ordner
 
Da isser!

Zitat:

Zitat von Fussel9 (Beitrag 1073506)
Delphi-Quellcode:
Titelliste:=TStrings.Create;

TStrings ist eine abstrakte Klasse und darf nicht instantiert werden. Nimm TStringList.

Fussel9 10. Jan 2011 15:58

AW: Abstrakter Fehler beim auslesen von Ordner
 
:balloon::party::balloon:

Juhu! Danke, jetz geht's den Fehler hat nichtmal mein Infolehrer gesehn :-D


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