Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ereignis starten wenn eine Datei im ordner erstellt wird (https://www.delphipraxis.net/118047-ereignis-starten-wenn-eine-datei-im-ordner-erstellt-wird.html)

Geraldine83 30. Jul 2008 15:32


Ereignis starten wenn eine Datei im ordner erstellt wird
 
Hallo,

ich hab ein kleines Problem.
Ich benötige eine Komponente die ein bestimmtes Verzeichnis (das ich vorher angegeben habe) überwacht.
Wenn ein Datei erstellt wird, dann löst es ein Ereignis aus. Beim Löschen oder umbennen darf nicht passieren.

Ich habe 1-2 Komponenten getestet, aber entweder überwacht diese die ganze festplatte und kein bestimmtes Verzeichnis, oder es reagiert auf alles (create, löschen, umbennen).
Habe noch kein zwischending gefunden oder nicht herausgefunden, wie man die vielleicht richtig einstellt.....

Kann mir bitte jemand dabei helfen!

Grüßle Jerry

mkinzler 30. Jul 2008 15:40

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
TShellNotify

Geraldine83 4. Aug 2008 08:17

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

herzlichen Dank für die Antwort.
Es hat auch soweit geklappt, nur wenn ich die exe an einem PC starten möchte, an dem kein Delphi installiertc ist,
kommt diese Fehlermeldung.

"Zugriffsverletzung bei Adresse 00506FDD in Modul MobileWarehouse_neu.exe. Lesen von Adresse 00000248".

Wie kann ich das Problem beheben?

Grüßle Geraldine

:cheers:

mkinzler 4. Aug 2008 08:51

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Hast du etwas dynamisch gelinkt?

Geraldine83 4. Aug 2008 09:13

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
wie dynamisch?

DGL-luke 4. Aug 2008 09:39

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
schau mal in deine projektoptionen bei den compiler-einstellungen. eventuell hast du da die delphi-runtime-packages dynamisch gelinkt.

wenn deine delphi-anwendung weniger als 400kB hat, könnte das sein...

Geraldine83 7. Aug 2008 07:29

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Hi,

hab das mit dem dynamisch überprüft... Aber es ist nicht eingestellt. Die Exe ist 2,8 MB groß.
Wie gesagt an einem PC, wo mal Delphi drauf war (wurde deinstalliert) funktioniert die Exe hervorragend, aber an einem PC ohne Delphi kommt die Zugriffsverletzung-Meldung.

Die Komponente die hinzugefügt habe heißt: ShellNotify!
Seit dem kommt die Zugriffsverletzungsmeldung!

Benötige bitte dringend Rat.


Grüßle Geraldine

mkinzler 7. Aug 2008 07:34

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Ich verwende dises auch, hatte aber zum Glück das Problem noch nicht. Unterscheidet sich der PC, auf dem die Exe Probleme macht sonst noch von den anderen? Jage die Datei mal durch den DependenyWalker und vergleiche die Versionsnummern der referenzierten Dlls

Geraldine83 7. Aug 2008 07:41

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Hallo,

danke für die schnelle Antwort!

Wo finde ich den DependenyWalker?
Muss ich auf irgendwas achten, wenn ich die Komponente bei mir ins Delphi installiere?
Könnte das ein Installationsfehler der Komponente vielleicht sein?

Grüßle

mkinzler 7. Aug 2008 07:47

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
http://dependencywalker.com/

Luckie 7. Aug 2008 07:59

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Probier doch mal meine Unit aus, ob die bei dir funktioniert:
http://www.michael-puff.de/Developer/Delphi/Units/ -> MpuReadDirectoryChangesCls.pas

Geraldine83 7. Aug 2008 08:07

Re: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Könnte jemand sicherheitshalber mir sagen, wie man genau bei der installation von der komponente vorgeht?

Will nur sicher gehen, dass ich die Komponente richtig installiert habe.

Ralf Stehle 23. Feb 2017 11:18

AW: Ereignis starten wenn eine Datei im ordner erstellt wird
 
Ich habe ebenfalls versucht,
mit Hilfe der MpuReadDirectoryChangesCls.pas Verzeichnisse zu überwachen.

Leider scheitere ich daran, die Unit korrekt in meine Application einzubinden.

Kann mir jemand helfen? Ich habe leider keine Ahnung von Threads

Mit unten stehendem Code aus http://www.delphipraxis.net/173627-v...ychangesw.html bekomme ich nur die Fehlermeldungen:

undefinierter Bezeichner: csDirThread
undefinierter Bezeichner: csDirThreadDirectoryChanges


Code:
Memo1.Lines.Clear;
  if DirectoryExists(sEdit1.Text) then
  begin
    if csDirThread = nil then
    begin
      caption :='Überwachung startet...';
      csDirThread := TcsDirThread.Create(sEdit1.Text);
      csDirThread.OnDirectoryChanges := csDirThreadDirectoryChanges;
      csDirThread.OnDirectoryChangesError := csDirThreadDirectoryChangesError;
      csDirThread.OnTerminate := csDirThreadTerminate;
    end
    else
      caption :='Thread existiert noch';
  end
  else
    caption :='Verzeichnis existiert nicht';

Luckie 24. Feb 2017 19:21

AW: Ereignis starten wenn eine Datei im ordner erstellt wird
 
hast du die Unit auch in deinem Projekt eingebunden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 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