AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi kurioser Fehler beim auflisten der Dateien (?!)
Thema durchsuchen
Ansicht
Themen-Optionen

kurioser Fehler beim auflisten der Dateien (?!)

Ein Thema von MCQ · begonnen am 7. Dez 2005 · letzter Beitrag vom 7. Dez 2005
 
MCQ

Registriert seit: 14. Jan 2004
Ort: Dessau
80 Beiträge
 
#1

kurioser Fehler beim auflisten der Dateien (?!)

  Alt 7. Dez 2005, 04:33
Ich wollte grad eine DLL schreiben die mir aus mehreren Dateien ein Arciv erstellt und aus diesem Archiv auch wieder diese Dateien erstellen kann. Nun komme ich aber bereits beim aulisten der Dateien zu einem kuriosen Fehler den ich mir nicht erklären kann. ier der bisherige Quelltext der Funktion:

Delphi-Quellcode:
procedure CreateHeader(path:PChar;var header:array of char; var HeaderSize:Cardinal; relpath:pchar; FirstFilePos:Cardinal=0);
var subdirs : TStrings;
    hSuche : THandle;
    finddata : _WIN32_FIND_DATA;
    i : integer;
    posval : cardinal;
begin
// erstellt den Achive-Header und schreibt ihn in die Variable "header"
subdirs:=TStringList.Create;
hSuche:=0;
hSuche:=FindFirstFile(PChar(path+'\*'),finddata);
memo.Lines.Add('');
memo.Lines.Add(path);
while hSuche<>INVALID_HANDLE_VALUE do
 begin
  if (string(finddata.cFileName[0])<>'.') and (string(finddata.cFileName[0])<>'..') then
   begin
    if DirectoryExists(path+'\'+finddata.cFileName) then
     begin
     subdirs.Add(finddata.cFileName);
     memo.Lines.Add(finddata.cFileName+' <-- dir');
     end
    else
     begin
     memo.Lines.Add(finddata.cFileName+' <- file');
     end;
   end;
  FindNextFile(hSuche,FindData);
  if GetLastError=ERROR_NO_MORE_FILES then hSuche:=INVALID_HANDLE_VALUE;
 end;
if subdirs.Count=0 then exit;
for i := 0 to subdirs.Count-1 do
 CreateHeader(PChar(path+'\'+subdirs.strings[i]),header,headersize,PChar(relpath+'\'+subdirs.strings[i]),posval);
end;

In der MemoBox steht nach ausführung dieses Codes folgender Text:

Zitat:
D:\Projects\PHP\online-raub
inc.config.php <- file
init_vars.php <- file
Neuer Ordner <-- dir
site.dieb.php <- file
site.transfer.php <- file
site.userstat.php <- file
tresor.php <- file
_notes <-- dir

D:\Projects\PHP\online-raub\Neuer Ordner
Neu Textdokument.txt <- file
_notes <-- dir

D:\Projects\PHP\online-raub\Neuer Ordner\_notes
dwsync.xml <- file
Kopie von Neuer Ordner <-- dir

D:\Projects\PHP\online-raub\Neuer Ordner\_notes\Kopie von Neuer Ordner
_notes <-- dir

D:\Projects\PHP\online-raub\Neuer Ordner\_notes\Kopie von Neuer Ordner\_notes
dwsync.xml <- file

D:\Projects\PHP\online-raub\_notes
dwsync.xml <- file
Entferne ich nun nur diese beiden Zeilen im Quelltext:
Delphi-Quellcode:
memo.Lines.Add('');
memo.Lines.Add(path);
Sieht die ausgabe wie folgt aus:
Zitat:
inc.config.php <- file
init_vars.php <- file
Neuer Ordner <-- dir
site.dieb.php <- file
site.transfer.php <- file
site.userstat.php <- file
tresor.php <- file
_notes <-- dir
Die Dateien in den unterordnern (z.B. dwsync.xml und Neu Textdokument.txt) fehlen nun völlig, obwohl sie laaut Qulltext angezeigt werden müssten.
Kann mir jemannd dieses Phänomän erklären?
  Mit Zitat antworten Zitat
 


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 21:19 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