Kommunikation zwischen Prozessen
Kommunikation zwischen Prozessen
Hey,
ich bin neu hier im Forum und wende mich gleich mit einer Frage an euch! Ich verwende ein Programm names "Log Monitor". Dieses überwacht ein Verzeichnis in Realzeit und sobald eine neue Datei in diesem Verzeichnis angelegt wird, startet dieses Programm eine Lazarus-Anwendung. Dabei wird der Name der Datei in einer Variable der Form %File="..." gespeichert und soll auch an meine Lazarus-Anwendung übergeben werden.
Deswegen nun die Frage: Wie komm ich in meiner Lazarus Anwendung an genau diese Variable ran???
ich bin neu hier im Forum und wende mich gleich mit einer Frage an euch! Ich verwende ein Programm names "Log Monitor". Dieses überwacht ein Verzeichnis in Realzeit und sobald eine neue Datei in diesem Verzeichnis angelegt wird, startet dieses Programm eine Lazarus-Anwendung. Dabei wird der Name der Datei in einer Variable der Form %File="..." gespeichert und soll auch an meine Lazarus-Anwendung übergeben werden.
Deswegen nun die Frage: Wie komm ich in meiner Lazarus Anwendung an genau diese Variable ran???
Re: Kommunikation zwischen Prozessen
Ich beschäftige mich leider noch nicht so lang mit solchen Dingen! Das Programm welches das Verzeichnis überwacht und den File-Namen der neu erstellten Datei an meine Lazarus Anwendung weitergeben soll, ist folgendes:
http://www.aplusfreeware.com/categories ... nitor.html
Ich weiß, dass dieses Programm den Namen in einer Variable %File="..." als Parameter speichert und an das externe Programm (also meine selbst erstellte Anwendung) weitergibt. Mein Problem ist der Zugriff darauf, beim Start meiner Anwendung. Was macht denn ein Kommandozeilenparameter?
http://www.aplusfreeware.com/categories ... nitor.html
Ich weiß, dass dieses Programm den Namen in einer Variable %File="..." als Parameter speichert und an das externe Programm (also meine selbst erstellte Anwendung) weitergibt. Mein Problem ist der Zugriff darauf, beim Start meiner Anwendung. Was macht denn ein Kommandozeilenparameter?
Re: Kommunikation zwischen Prozessen
sven1 hat geschrieben:Was macht denn ein Kommandozeilenparameter?
Selber nicht viel.
Es ist einfach ein Parameter, der dem zu startenden Programm mitgegeben wird.
z.B.
Code: Alles auswählen
firefox www.mozilla.com
Startet Firefox mit der Seite www.mozilla.com
Firefox liest nun den Parameter www.mozilla.com über sowas wie ParamStr ein. Siehe Beispiel im Link oben.
Re: Kommunikation zwischen Prozessen
Perfekt!!! Es hat funktioniert! Danke für die schnelle und kompetente Hilfe
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Kommunikation zwischen Prozessen
sven1 hat geschrieben:Dieses überwacht ein Verzeichnis in Realzeit und sobald eine neue Datei in diesem Verzeichnis angelegt wird...
In Linux gibt es eine "Datei", die aus einem Lese-Zugriff zurückkommt, sobald sich in einem bestimmten Verzeichnis etwas ändert. So geht das ohne aktives Pollen. Ob es das in Windows auch gibt, weiß ich nicht, vermute ich aber.
-Michael
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Kommunikation zwischen Prozessen
Dies wird es wohl auch unter "Windoof geben, aber wohl erst ab Win Vista
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Re: Kommunikation zwischen Prozessen
Maik81ftl hat geschrieben:Dies wird es wohl auch unter "Windoof geben, aber wohl erst ab Win Vista
Methoden zum Überwachen von Verzeichnissen gibt es seit Windows XP. Stichwort ReadDirectoryChanges.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365465%28v=vs.85%29.aspx
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: Kommunikation zwischen Prozessen
Ich weiß nicht mehr genau wie die Klasse hieß, verwendet habe ich sie auch noch nicht, bin eher durch Zufall über diese Möglichkeit gestolpert:
In Lazarus besser gesagt in FPC gibt es dafür schon eine Möglichkeit, Änderungen in einem Verzeichnis zu überwachen. Ich werde mal eben schauen, ob ich den Namen der Klasse wieder finde und sehen ob sie Plattform unabhängig ist. Sowas gab es ja auch schon in Windows 95....
Änderungen von Verzeichnissen zu überwachen....
In Lazarus besser gesagt in FPC gibt es dafür schon eine Möglichkeit, Änderungen in einem Verzeichnis zu überwachen. Ich werde mal eben schauen, ob ich den Namen der Klasse wieder finde und sehen ob sie Plattform unabhängig ist. Sowas gab es ja auch schon in Windows 95....
Änderungen von Verzeichnissen zu überwachen....
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 957
- Registriert: Mo 11. Sep 2006, 22:56
Re: Kommunikation zwischen Prozessen
Das hier:
http://www.cromis.net/blog/downloads/directory-watch/
kannst du nehmen um das externe Programm zu vermeiden und alles intern zu lösen.
Sollte ohne oder mit kleinen Anpassungen verwendbar sein (natürlich Windows only).
Für Linux sowas:
http://www.friends-of-fpc.org/research/ ... g/inotify/
http://www.cromis.net/blog/downloads/directory-watch/
kannst du nehmen um das externe Programm zu vermeiden und alles intern zu lösen.
Sollte ohne oder mit kleinen Anpassungen verwendbar sein (natürlich Windows only).
Für Linux sowas:
http://www.friends-of-fpc.org/research/ ... g/inotify/