![]() |
Rekursive Dateisuche friert Programm ein.
Hallo zussammen,
hab ein kleines Problem beim "Rekursiv nach Dateien suchen". Eigentlich dachte ich, ich hab hier schon mal so eine Frage gefunden, doch ich kann sie jetzt nicht mehr finden. Ich suche nach Dateien. Code ist dem in der CODE-LIBRARY ähnlich. Auch dort ist das Problem das während der Suche das Programm einfriert. D. h. es werden keine Events ausgelöst und das Formular ist "tod". Hat mich eigentlich nie gestört, aber ich möchte einen "Abbrechen-Button" verwenden. Wie kann ich einen "Abbrechen-Button" verwenden, um aus der Prozedure
Delphi-Quellcode:
auszusteigen.
GetFilesInDirectory('C:\','*.*',listbox1.items,checkbox1.checked);
Kann mir jemand einen Tipp geben. Dank im Voraus. Gruss Moori |
pack das ganze in einen Thread und beende Thread dann über den "Abbrechen" Button.
|
Moin Moori,
Du könntest auch einfach einmal Application.ProcessMessages in die Suchschleife legen (den Source für die Funktion hast Du ja), und dann immer hinter dem Rekursiven Aufruf der Funktion eine Abfrage nach der Abbruchbedingung einbauen. Bedingung erfüllt: Exit Die Bedingung wird dann durch den Abbruch Button gesetzt. |
Application.ProcessMessage funzt
Hallo Christian Seehase und mirage228,
Danke für eure Hilfe. Ich habs mit dem Thread versucht, aber es hat nicht wirklich funktioniert. Ich erhalte keine Fehler, aber trotzdem "friert" mein Formular ein. Das mit der
Delphi-Quellcode:
funktioniert. Obwohl ich nicht genau weiss was das macht. Auf jedenfall habe ich während der "Datei-Suche" zugriff auf mein Formular. Das Problem mit der "Verlangsamung" der Suchfunktion hab ich auch ganz leicht umgehen können.
Application.ProcessMessages
Danke für eure Hilfe. Gruss Moori |
Moin Moori,
wenn Du das Durchsuchen der Verzeichnisse in eine Thread auslagerst kann das Programm eigentlich nicht einfrieren. Da müsstest irgendwo ein Fehler sein. Application.ProcessMessages sorgt dafür, dass anstehende Windows Botschaften verarbeitet werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 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