Crossplatform Datenkommunikation zwischen Programmen
Crossplatform Datenkommunikation zwischen Programmen
Hallo.
Ich bin dabei mir ein IDE Tool zu bauen. Dabei stosse ich auf ein kleines Problem.
Die Enviroment Variablen sind nur beim aufrufen des externen Tools aktuell.
Das Tool soll allerdings im Hintergrund weiterlaufen. Daher wollte ich einen kleinen "Starter"
machen, der die ENV Variablen an das Hauptprogramm übergibt.
Nun das Problem : Der Starter soll die Daten an das Tool senden, und zwar so, dass es auf
allen PB unterstützten OS (PB5.70) läuft.
Der Starter sollte auch klein in der Filegröße sein, weil er ja "schnell" geladen werden soll.
(Auch auf langsamen "Devices" wie in Laptops oder Tablets).
Wie stelle ich das am besten an ?
P.S.: Mit meiner jetzigen "Starter" - Lösung müsste ich nur ein Signal senden, damit das Tool eine Datei einliest...
Ich bin dabei mir ein IDE Tool zu bauen. Dabei stosse ich auf ein kleines Problem.
Die Enviroment Variablen sind nur beim aufrufen des externen Tools aktuell.
Das Tool soll allerdings im Hintergrund weiterlaufen. Daher wollte ich einen kleinen "Starter"
machen, der die ENV Variablen an das Hauptprogramm übergibt.
Nun das Problem : Der Starter soll die Daten an das Tool senden, und zwar so, dass es auf
allen PB unterstützten OS (PB5.70) läuft.
Der Starter sollte auch klein in der Filegröße sein, weil er ja "schnell" geladen werden soll.
(Auch auf langsamen "Devices" wie in Laptops oder Tablets).
Wie stelle ich das am besten an ?
P.S.: Mit meiner jetzigen "Starter" - Lösung müsste ich nur ein Signal senden, damit das Tool eine Datei einliest...
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Crossplatform Datenkommunikation zwischen Programmen
Nur mit nativen PB-Funktionen wird es schwierig. Das einzige wäre, Daten in eine Textdatei zu speichern und das andere Programm schaut stets, ob die Datei geändert wurde und wenn ja, dann liest er die Daten.
Aber diese Vorgehensweise ist eher suboptimal.
Besser ist es, wenn man Daten direkt ohne über Umwege und ohne Workaround an einen Prozess schickt.
Wenn du für Windows, Linux und MacOS (falls notwendig) jeweils die API-Funktion nutzt, dann hast du ja auch eine Crossplatform-Lösung.
Für Windows:
https://www.rsbasic.de/aktualisierung/w ... mserver.pb
https://www.rsbasic.de/aktualisierung/w ... mclient.pb
Für Linux und MacOS gibt es bestimmt sowas auch. Da meldet sich ein Linux-User wie Programie bestimmt.
Ansonsten gibt es auch Shared Memory.
Aber diese Vorgehensweise ist eher suboptimal.
Besser ist es, wenn man Daten direkt ohne über Umwege und ohne Workaround an einen Prozess schickt.
Wenn du für Windows, Linux und MacOS (falls notwendig) jeweils die API-Funktion nutzt, dann hast du ja auch eine Crossplatform-Lösung.
Für Windows:
https://www.rsbasic.de/aktualisierung/w ... mserver.pb
https://www.rsbasic.de/aktualisierung/w ... mclient.pb
Für Linux und MacOS gibt es bestimmt sowas auch. Da meldet sich ein Linux-User wie Programie bestimmt.
Ansonsten gibt es auch Shared Memory.
Re: Crossplatform Datenkommunikation zwischen Programmen
Windows Only...
Wenn du das Handle vom Fenster hast, kannst du eine User message an das Fenster senden... #WM_USER + eigene Nummer
Wenn du das Handle vom Fenster hast, kannst du eine User message an das Fenster senden... #WM_USER + eigene Nummer
Zuletzt geändert von mk-soft am 26.02.2019 10:44, insgesamt 2-mal geändert.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Crossplatform Datenkommunikation zwischen Programmen
Unter Windows mit Window Messages (Voraussetzung dafür ist natürlich ein Fenster, kann aber glaube ich auch unsichtbar sein)
edit:mk-soft war schneller.
Wenn die Codes von RSBasic schon Client und Server heißen: Warum nicht gleich ein einfachen (Web-)Server? Das ist auf jeden Fall Cross-Plattform und beliebig mächtig.
edit:mk-soft war schneller.
Wenn die Codes von RSBasic schon Client und Server heißen: Warum nicht gleich ein einfachen (Web-)Server? Das ist auf jeden Fall Cross-Plattform und beliebig mächtig.
Signatur und so
Re: Crossplatform Datenkommunikation zwischen Programmen
P.S. Für MacOS
Link: https://www.purebasic.fr/english/viewto ... 19&t=68047
P.P.S Für Windows. Das hatte ich noch gesucht...
Link: viewtopic.php?f=8&t=13014
Link: https://www.purebasic.fr/english/viewto ... 19&t=68047
P.P.S Für Windows. Das hatte ich noch gesucht...
Link: viewtopic.php?f=8&t=13014
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: Crossplatform Datenkommunikation zwischen Programmen
Die Vorschläge sind schonmal gut
Allerdings auf Windows beschränkt, und soviel Ahnung von Linux/Mac API hab ich definitiv nicht.
Derrens Idee mit dem NetworkServer/Client hab ich getestet und es sieht gar nicht mal schlecht aus.
Ich dachte dies würde den Starter nur unnötig aufblähen, aber weit gefehlt...
40KB sehe ich immer noch als klein genug an
Allerdings auf Windows beschränkt, und soviel Ahnung von Linux/Mac API hab ich definitiv nicht.
Derrens Idee mit dem NetworkServer/Client hab ich getestet und es sieht gar nicht mal schlecht aus.
Ich dachte dies würde den Starter nur unnötig aufblähen, aber weit gefehlt...
40KB sehe ich immer noch als klein genug an
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Crossplatform Datenkommunikation zwischen Programmen
NetworkServer/Client finde ich auch gut aber du musst unbedingt darauf achten dass dein Programm von der Firewall nicht blockiert wird. Das musst du sicherstellen sonst funktioniert dein Programm nicht.
Re: Crossplatform Datenkommunikation zwischen Programmen
Warum achtest du auf die Dateigröße? In heutiger Zeit spielt das keine Rolle mehr. Wir haben große und schnelle Speicher.
Re: Crossplatform Datenkommunikation zwischen Programmen
Es gibt auch extrem langsame Speicher... und ich kenne davon zuhauf
Und nur weil man mehr Speicher zur Verfügung hätte, muss man ja nicht damit rumasen
Und nur weil man mehr Speicher zur Verfügung hätte, muss man ja nicht damit rumasen
PureBasic 6.10 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: Crossplatform Datenkommunikation zwischen Programmen
Komisch in anderen Threads waren die meisten Nutzer anderer Meinung. ZB beim Thema Arbeitsspeicher da wollte jemand Prozesse sparen und die meisten Nutzer (auch große Nutzer) meinten es wäre dumm weil ungenutzter RAM dumm wäre und dass man RAM auch nutzen muss wenn man RAM hat. Wieder diese Möchtegern-Profis die immer alles besser wissen müssen....Bisonte hat geschrieben:Und nur weil man mehr Speicher zur Verfügung hätte, muss man ja nicht damit rumasen