Array mit Prozessen

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Delegates

Post by wriedmann »

Hallo Franz,
statt eines Punktes musst Du einen Doppelpunkt einsetzen:

Code: Select all

oFileSystemWatcher:EnableRaisingEvents := TRUE
auch hier:

Code: Select all

oFileSystemWatcher:Created += FileSystemEventHandler{FileCreated}
und hier:

Code: Select all

IF Right(Upper(e:Name),4) == ".PRN"
			ProcessFile(e:FullPath)
		ENDIF
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Delegates

Post by wriedmann »

Hallo Franz,
Hintergründe siehe hier:
https://docs.xsharp.it/doku.php?id=name ... _reference
Und schau Dir das ggf. durch:
https://www.riedmann.it/documents/Differences_VO_XS.pdf
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Karl-Heinz
Posts: 774
Joined: Wed May 17, 2017 8:50 am
Location: Germany

Delegates

Post by Karl-Heinz »

Hallo Franz,

- beim CONSTRUCTOR und den "AS VOID" Methoden muss auch noch das SELF hinter dem RETURN weg.

- Der Kompiler bringt zudem auch eine "unreachable code detected" warning. Das liegt an dem "BREAK" das mit "EXIT" ersetzt werden muss.

Gruß
Karl-Heinz
lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Delegates

Post by lagraf »

Hallo Wolfgang und Karl-Heinz,
das hätte ich eigentlich wissen müssen, ist ja VO Syntax! Aber ich habe mich wohl so stark auf C# konzentriert, dass ich darüber die VO Syntax irgendwie vergessen habe! :lol:

Danke für die Hilfe!
User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Delegates

Post by wriedmann »

Hallo Franz,
das hätte ich eigentlich wissen müssen, ist ja VO Syntax! Aber ich habe mich wohl so stark auf C# konzentriert, dass ich darüber die VO Syntax irgendwie vergessen habe!
Zum Glück ist die X#-Syntax der von VO so ähnlich....

lg

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Delegates

Post by lagraf »

Soweit läuft das Programm jetzt, dank an alle für die Hilfestellungen!

Noch ein paar allgemeine Fragen dazu zum besseren Verständnis:
1) Soll man bei der Klasse FileInputMonitor beim Beenden noch irgend etwas zusammenräumen (Destructor)?
2) Warning XS0219: Variable 'oFileInputMonitor' is assigned but its value is never used. No Na, kann man da irgendetwas machen, damit die Meldung nicht kommt?

Code: Select all

LOCAL oFileInputMonitor AS FileInputMonitor
oFileInputMonitor := FileInputMonitor{_cDir, "*.PRN"}
3) Mit der Klasse FileInputMonitor wird ja ein Thread zur Überwachung gestartet. Wenn der User jetzt bei den Parametern (Verzeichnis, FileMask) etwas ändert, wie schließt man den Thread dann um ihn dann mit geänderten Parametern neu zu starten? Genügt da ein oFileInputMonitor := NULL_OBJECT?
User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Delegates

Post by wriedmann »

Hallo Franz,

ich würde eine Methode einbauen, die die Dispose()-Methode des FileSystemWatchers aufruft.

Damit sollte das beendet sein.

Ideaierweise wird das FileInputMonitor-Objekt nicht einer lokalen Variablen zugewiesen, wo es verloren geht, sondern einer Instanz-Variablen, wo man es bei Programmende aufräumen kann.
Damit bist Du auch die XS0219 los, denn die greift nur bei lokalen Variablen.

Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Delegates

Post by lagraf »

Hallo Wolfgang,
habe ich eingebaut! Allerdings kann ich das im FolderToWatch gefundene File (e:FullPath) nicht weiterverarbeiten, da es gelockt ist! Wie kann man die Sperre aufheben um es zu renamen oder zu löschen?
User avatar
wriedmann
Posts: 3759
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

Delegates

Post by wriedmann »

Hallo Franz,

was machst Du mit der Datei?
Das mit dem FileStream, wenn Du das noch drin hast, kannst Du rausnehmen, das öffnet nämloch die Datei,
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
lagraf
Posts: 450
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Delegates

Post by lagraf »

Zuerst den Inhalt drucken und dann die Datei löschen!
Dann schliesse ich erst mal mit oReader:Close() vor dem Löschen, dann klappts!
Danke!
Post Reply