Zitat von
fiasko:
Hallo,
na dann brauchst du aber auch keinen extra Thread. Wozu Nebenläufigkeit wenn der eine Thread die ganze Zeit delayed ist
Welchen Thread meinst du jetzt? Ich habe einen, der auf signaled eines FindNextNotification-Handles wartet und einen anderen der im Hintergrund die Thumbs generiert.
Zitat:
Ich weiß ja nicht genau wie dein Programm arbeitet, kann ich mir das so vorstellen das du eine Übersicht hast wofür die ganzen Thumbnails generiert werden? Dann würde ich die Thumbnails im Formular alle auf nil (oder irgendwie deaktiviert) setzen und der Thread ruft dann eine Callback-Funktion auf die Thumbnail für Thumbnail auf einen Bild setzt und das neuzeichnen veranläßt. Solange ein Thumbnail noch nil ist kann es halt nicht gezeichnet werden.
Also, der User klickt im TreeView einen Ordner an. Der ThumbThread wird aufgeweckt, der ListView (mit TImageList) wird mit einem Dummy-Bild bestückt. Es sollen nämlich zunächst ganz schnell alle Dateien angezeigt werden. Danach geht der Thread ein 2. Mal durch und ersetzt das DummyBild durch das Gerenderte. Falls der Thread unterbrochen wird, setzt er später seine Arbeit dort fort wo er auch aufgehört hat. Das sieht gut aus und läut auch. Der Thread hat die Prio tpLowest, der Notification-Thread tpLower.