Hi Delphi-Folks
Ich soll für einen Kunden eine Möglichkeit schaffen ca. 800
XML-Files
zu durchsuchen. Die Suche soll aufgrund eines Filters durchgeführt werden,
welcher der Kunde definiert.
Da die
XML-Files immer gleich aufgebaut sind und ich weiss, dass die
zu suchenden Informationen immer an der 4-6 Zeile des
XML-Files stehen
habe ich eine Suchroutine mittels "AssignFile" geschrieben.
Diese Routine ist so schnell, dass die 800
XML-Files in weniger
als 1 Sekunde durchsucht sind.
Aber (und jetzt kommt es). Die Suche ist nur so schnell, wenn die Dateien
vorher schon einmal "berührt" wurden.
Wenn der PC nach einem Neustart das erste Mal diese Routine ausführt vergehen
bis zu 15 Sekunden für die gleiche Routine welche sonst weniger als 1 Sekunde braucht.
Nicht dass 15 Sekunden ein sooooooooo grosses Problem darstellen. Jedoch ist es für den Kunden
lästig, dass die 1. Abfrage nach einem Neustart immer so lange dauert.
Ich habe z.B. schon versucht die Dateien bei Programmstart mittels Filelistbox zu
"initialisieren". Oder die Dateien beim Programmstart mittels TFileStream zu "initialisieren".
Ich dachte, dass dies den 1. Zugriff verschnellern würde. Ohne Erfolg.
Hat irgend jemand von Euch eine Idee wie dieses Problem lösbar wäre.
Herzlichen Dank für Eure Hilfe
Roland