Verzeichnisse überwachen

Anfängerfragen zum Programmieren mit PureBasic.
EmmJott
Beiträge: 46
Registriert: 25.10.2024 12:23

Verzeichnisse überwachen

Beitrag von EmmJott »

Guude! (wie man in Hessen so grüßt)

Ich würde gern den Code aus
https://www.purebasic.fr/english/viewto ... hDirOrFile
verwenden und brauche dazu Hilfe beim Verständnis der Funktionen.

Ich möchte nicht alle Laufwerke (in meinem Fall 4) gleichzeitig überwachen, sondern immer nur das, das gerade "in meinem Fokus" ist, also von mir beobachtet/bearbeitet/sonstwas wird. Wenn ich also gerade auf Laufwerk D: "unterwegs bin", interessiert es mich gerade nicht, was auf den anderen Laufwerken passiert. Würde ich nach E: wechseln, interressiert D: gerade nicht mehr.

Ich würde daher bei jedem Laufwerkswechsel die Überwachung aufrufen. Was, wenn mehrfach das gleiche Laufwerk angesteuert wird? Wie wird die Überwachung für ein Laufwerk beendet?
Bin aktiv in der rentenvorbereitenden Arbeitslosigkeit - zwangsweise. Auch nach >30 Jahren im Betrieb springst Du über die Klinge, wenn der (Miss-)Manager seinen Hintern retten will. Lasst Euch von euren Arbeitgebern bloß nix von wegen Loyalität erzählen - wenn's drauf ankommt, ist die nix Wert!
Benutzeravatar
dige
Beiträge: 1238
Registriert: 08.09.2004 08:53

Re: Verzeichnisse überwachen

Beitrag von dige »

Wenn Du die Threads nicht sauber beendest, wird die Überwachung mehrfach weiter laufen..
"Papa, ich laufe schneller - dann ist es nicht so weit."
EmmJott
Beiträge: 46
Registriert: 25.10.2024 12:23

Re: Verzeichnisse überwachen

Beitrag von EmmJott »

Hi,
ja, das war so mein Verdacht. Jetzt würde mich interessieren, wie so ein Thread sauber beendet wird.
Bin aktiv in der rentenvorbereitenden Arbeitslosigkeit - zwangsweise. Auch nach >30 Jahren im Betrieb springst Du über die Klinge, wenn der (Miss-)Manager seinen Hintern retten will. Lasst Euch von euren Arbeitgebern bloß nix von wegen Loyalität erzählen - wenn's drauf ankommt, ist die nix Wert!
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Verzeichnisse überwachen

Beitrag von NicTheQuick »

Ich würde wahrscheinlich in der Structure `Storage` ein weiteres Feld hinzufügen, z.B. "terminate.i" und es auf #True setzen, wenn sich der Thread beenden soll. Im Thread selbst muss man dann natürlich prüfen, ob `*Storage\terminate` gleich #True ist und ihn dann beenden. Da zwischendurch `CreateFile_` benutzt wird, sollte natürlich dieses Handle auch entsprechend invalidiert werden bevor der Thread beendet wird. In der Linux-Version sollte das selbe dann mit dem Handle von `inotify_init` und `inotify_add_watch` geschehen, aber auch mit `*ReadBuff`. Ich frage mich übrigens warum das da ein Long ist. Ich glaube nicht, dass das richtig ist.
Es sieht nebenbei auch so aus als ob da ein Fehler ist in dieser Zeile:

Code: Alles auswählen

filename$ = PeekS(@*temp\name,-1,#PB_Ascii)
Dateinamen unter Linux sind UTF-8 und nicht ASCII. Ich glaube das ist da falsch, habe es aber nicht überprüft.
Antworten