Um auf die ursprüngliche Frage zurückzukommen, ja die Frage ist sehr allgemein.
So weit ich jetzt verstanden habe kann ich also eine Klasse wie die erstellen:
Delphi-Quellcode:
TWatchThread = class(TThread)
private
FileNotify : TfisFileNotification;
FileZip : TJvZlibMultiple;
Name,
WatchFolder,
BackupFolder : string;
IncludeFiles,
ExcludeFiles,
ExcludeFolder : string;
minSize,
maxSize : integer;
procedure OnNotifyChanged(Sender: TObject);
public
constructor Create(AOwner : TComponent);
procedure Execute; override;
end;
procedure TWatchThread.Execute;
begin
FileNotify.Start;
...
FlieNotify.OnChanged := OnNotifyChanged;
end;
procedure TWatchThread.OnNotifyChanged(Sender: TObject);
begin
// auf den Event reagieren
// Liste der Dateien durchgehen, Änderungen mit FileZip speichern
// So hier die Meldung für das Log ???
PostMessage(MainForm.Handle, MY_WM_USER, SUB_MESSAGE_NEW_SAVE, Integer(InfoRecord));
end;
Und dann kann ich die TWatchThread Objekte einfach in eine TObjectList speichern?
Delphi-Quellcode:
// Threads erstellen
begin
ObjectList := TObjectList.Create;
ObjectList.OwnsObjects := true;
// für alle zu überwachende Verzeichnisse
ObjectList.Add(TWatchThread.Create(Self));
end;
// Threads starten
begin
aWatchThread := TWatchThread(ObjectList.Items[index]);
aWatchThread.Execute;
end;
Ich muß natürlich noch auf die Messages reagieren, aber hab ich das so richtig gemacht?
Danke David