AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TShellChangeNotifier ist ziemlich kaputt, oder?
Thema durchsuchen
Ansicht
Themen-Optionen

TShellChangeNotifier ist ziemlich kaputt, oder?

Ein Thema von Der schöne Günther · begonnen am 2. Apr 2014 · letzter Beitrag vom 3. Apr 2014
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TShellChangeNotifier ist ziemlich kaputt, oder?

  Alt 2. Apr 2014, 14:08
Delphi-Version: XE5
Die nett gemeinte TShellChangeNotifier -Komponente welche mittels (einzigem) onChange-Ereignis mitteilen soll, dass sich etwas in einem Verzeichnis geändert hat (z.B. neue Datei angelegt, Datei gelöscht, ...).

In älteren Delphi-Versionen schien es standardmäßig unter "Samples" dabei zu sein, mittlerweile scheint man die Komponente nachinstallieren zu müssen (Ordner \Samples\Delphi\VCL\ShellControls). Aber das Ding ist voller Fehler, oder?
  • Der TShellChangeThread prüft anfangs die Rückgabe einer WinAPI-Methode auf ERROR_INVALID_HANDLE. Richtig wäre allerdings INVALID_HANDLE_VALUE. Damit wird er im folgenden mit einem ungültigen Handle arbeiten
  • Der TShellChangeThread hat übrigens FreeOnTerminate = True . Der Destruktor von TShellChangeNotifier beendet den Thread trotzdem mit FThread.Terminate() was natürlich zu Fehlern führt wenn der Thread sich selbst schon freigegeben hat
  • Existiert das zu beobachtende Verzeichnis nicht vom Startweg, beendet sich der Thread und geht nie wieder an. Damit bekommt man nie wieder etwas mit wenn jemand bsp. das Verzeichnis temporär umbenennt oder löscht.
  • Abgesehen von Speicherlecks

Wollte ich nur mal gesagt haben. Nett gemeint, aber die Komponente ist wirklich im Eimer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: TShellChangeNotifier ist ziemlich kaputt, oder?

  Alt 2. Apr 2014, 14:17
Ich wusste nichtmal, daß es das im Delphi schon gibt ... gibt ja genug andere Implementationen, oder selber machen.

Du kannst dir zwar eine aktuelle Version der Beispiele besorgen und schauen, ob der Fehler schon weg ist, denn diese sind via SVN freigegeben.
http://docwiki.embarcadero.com/CodeE...5/en/Main_Page
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: TShellChangeNotifier ist ziemlich kaputt, oder?

  Alt 3. Apr 2014, 11:07
gibt ja genug andere Implementationen
Hast du eine Empfehlung?
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:03 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