String an programm senden

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
hanibal
Beiträge: 369
Registriert: Sa 3. Mär 2007, 16:03
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Bramsche (Emsland)

String an programm senden

Beitrag von hanibal »

hallo!

ich möchte gerne meinen mediaplayer so erweitern, das er erkennt, ob er scho leuft, und wenn er schon leuft, soll er dem schon laufenden informationen senden, und sich danach beenden, sprich das man ihn nur einmal starten kann, und der dann die informatione übernimmt.

das prob ist, das soll unter linux und unter windwos funktionieren

wie kann man das machen?

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich habe einen Code dazu einige Zeit in einem Projekt von mir verwendet, müsste ich aber erst wieder rauß suchen.

Und ich weiß nicht ob er unter Linx läuft.

Ich denke der Beste weg für dich währe folgender(wollte ich auch schon immer mal ausprobieren).

Du erstellt eine tmp Datei, die du beim Beenden wieder löscht.
Dort schreibt jede Instant einfach die Parameter rein die übergeben wurde.

Dann musst das Zweite Programm nur noch eine Message senden, wie das geht weiß ich leider nicht. Sobald es die Message sendet und von der 1
Instant aufgefangen wurde, kann die Datei ausgelesen werden, und die Infos in der Datei gelöscht wurden. und die zweite Instant kann beendet werden.

Das dürfte aufjedenfall Plattformübergreifend sein und überall Klappen.

Es gibt da mit Sicherheit noch einen anderen Weg. Aber das ist wie ich finde der einfachste. Evlt. gelingt es auch einen Pointer mit den Infos in die nachricht zu überbringen bzw. als Stream zu senden. Der Vorteil: Du müsstest in keiner TMP Datei was rein schreiben. Evlt. nur eine anlegen.

Soweit ich noch weiß, basiert der Code den ich verwendet zum Teil auf diese Idee....
Als Stichpunkte kann ich hier nur folgende nennen:
- Botschaften Senden und Emfangen per SendMessage(glaube ich)
- Prüfen ob es schon eine Instant gibt(dazu gibt es unter http://www.delphipraxis.net" onclick="window.open(this.href);return false; in der Code LIB einige Beispiele evlt. laufen sie auch unter Linux).
MFG
Michael Springwald

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »

Meinst du sowas?
http://wiki.lazarus.freepascal.org/UniqueInstance" onclick="window.open(this.href);return false;

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

Was das senden angeht...wenns nur strings sind, schau dir mal IPC an, geht relativ einfach und unkompliziert.

http://www.freepascal.org/docs-html/fcl ... leipc.html" onclick="window.open(this.href);return false;
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

verstehe ich das richtig, monta, das das mit dem Netzwerk zu tun hat ?

und was haltet ihr von meiner Idee ? müsste doch auch klappen oder ?
MFG
Michael Springwald

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

viele Wege führen nach Rom ;) aber wos geht, bevorzuge ich es, irgendwelche Temporären Dateien zu umgehen.

ICS hat nicht viel mit Netzwerk zu tun, man kann es keinesfalls mit TCP/IP oder ähnlichen vergleichen, sondern es wird nur eine einweg-Verbingung zwischen zwei laufenden Exen auf einer Maschiene aufgebaut über die beliebige STrings gesendet und über OnMessage ausgewertet werden können um eben beliebige Steuersignale festzulegen.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Interessant. Wenn man das zum laufen bringt, währe es ja noch leichter.
Und das klappt auch unter Windows ? bzw. auf anderen Systemen ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten