Entwickler-Ecke
Sonstiges (Delphi) - Delphi Anti-Freeze?
Bulli - Do 13.02.03 12:24
Titel: Delphi Anti-Freeze?
Hi all,
ich habe ein Problem. Und zwar hab ich ein Programm geschrieben (Ein Server und einen Client um genau zu sein), das ein Abbild meiner Platte in eine Stringlist speichert. Wenn nun eine Suchanfrage vom Server kommt wird diese Stringlist nach einem bestimmten Teilstring abgesucht.
Da es sich um mehr als 100.000 Stringeinträge handelt kann man sich vorstellen dauert dies ein wenig und dieser Zeit ist der Client eingefroren, man kann also nicht mehr aktiv agieren. Nun meine frage:
Wie kann man es verhindern das der Client einfriert? Die Indy Komponenete Anti-Freeze ist ja nur für Indy Kompos gedacht.
Wäre dankbar für jede Idee.
Gruß
Bulli
Delete - Do 13.02.03 12:27
Einfachste Antwort: Benutzt die Indys. :mrgreen:
Oder lagere die Abfrage- und Suchaktion in eine separaten Thread aus.
Bulli - Do 13.02.03 14:00
Danke,
ich werde mal gucken ob das nem extra thread funzt.
Bin trotzdem dankbar für weitere Ideen!
greetz
Bulli
Udontknow - Do 13.02.03 14:41
Hi!
Zur Stringsuche:
Ist der Teilstring immer am Anfang? Wenn ja, ist das von entscheidender Bedeutung für die Geschwindigkeit! Dann könntest du nämlich, anstatt jeden String einzeln durchzugehen, einen Algorithmus wie das iterierte Halbieren anwenden, um den String zu lokalisieren, was bei 100.000 Strings gerade mal höchstens 17 Zugriffe benötigen würde. Im Gegensatz zum Worst Case 100.000 Zugriffe ist das der Faktor 5882... :wink:
Zum Client:
Siehe Luckies Kommentar... :wink:
Cu,
Udontknow
Bulli - Do 13.02.03 15:21
Hi,
der Suchstring ist leider nicht immer am Anfang.
Beispiel:
Suchstring "WinNT"
Stringlisteintrag:
"c:\Programme\Microsoft\WinNT"
greetz
Bulli
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!