Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi zwei Programme miteinander kommunizieren lassen (https://www.delphipraxis.net/21755-zwei-programme-miteinander-kommunizieren-lassen.html)

seddto1977 7. Mai 2004 18:21


zwei Programme miteinander kommunizieren lassen
 
Hallo,

Ich habe folgendes Problem: Ich habe zwei Delphi Programme geschrieben die beide zeitweise Zugriff auf eine "Datei C" benötigen. Da standartmäßig "Programm A" immer auf "Datei C" zugreift, kann "Programm B" nicht zugreifen. Kann mir jemand sagen wie ich meine beiden Programme am besten miteinander kommunizieren lassen kann, so das "Programm B" "Programm A" sagen kann ich möchte Zugriff auf die Datei und umgekehrt "Porgamm B" "Porgramm A" melden kann wenn der Zugriff wieder beendet ist. Ich möchte das ganze nich mit einer dll lösen weil ich mich damit bis jetzt noch nicht so auskenne und mich für dieses recht simple Problem da auch ungerne lange einarbeiten möchte. Kennt jemand vielleicht einen anderen Weg?

SirThornberry 7. Mai 2004 18:24

Re: zwei Programme miteinander kommunizieren lassen
 
für sowas könntest du einfach mit Sendmessage arbeiten.
programm b sendet einfach eine Message an Programm a. Somit weiß programm a das programm b zugriff möchte. Wenn Programm a dann die datei geschlossen hat schickt es eine message an programm b und wenn programm b fertig ist schickt es wieder eine message

seddto1977 7. Mai 2004 18:29

Re: zwei Programme miteinander kommunizieren lassen
 
Danke für die antwort :) Was für eine Message könnte ich denn Senden?? Beide Programme haben weder Forms noch andere Eingabemöglichkeiten wie Buttons oder so...

alcaeus 7. Mai 2004 18:30

Re: zwei Programme miteinander kommunizieren lassen
 
Wenn nicht unbedingt nötig dann sollte Programm A nicht immer auf die Datei zugreifen. Mit Hilfe von gemeinsamen Variablen kannst du dann das ganze steuern. Wir haben in der Schule mal ein Beispiel zu diesen Algorithmen bezüglich kritischen Regionen gemacht, allerdings unter Linux. Ich weiß nicht ob du unter Windows auch aus zwei Programmen auf eine Variable zugreifen kannst. Alternatvi kannst du den Algorithmus auch mit SendMessage lösen. Die beiden Algorithmen heißen Dekker bzw. Petterson-Algorithmus, wenn du willst kann ich die posten

seddto1977 7. Mai 2004 18:33

Re: zwei Programme miteinander kommunizieren lassen
 
Ja fände ich gut :) Bin für jede Hilfe dankbar...

alcaeus 7. Mai 2004 18:34

Re: zwei Programme miteinander kommunizieren lassen
 
Ok, ich mach das dann später, mein Abendessen wartet *Magenknurren*

SirThornberry 7. Mai 2004 18:35

Re: zwei Programme miteinander kommunizieren lassen
 
du könntest bei beiden programmen ein unsichtbares fenster erzeugen um dann mit sendmessage zu arbeiten. Oder du löst das ganze über sockets... Du könntest auch noch mit nem Atom arbeiten und dann darin speichern ob die datei gerade verwendet wird oder nicht, oder mit memorymappedfiles

yankee 7. Mai 2004 19:29

Re: zwei Programme miteinander kommunizieren lassen
 
Ich würde hier einfach eine Datenbank nutzen. Dateigestützt ist es natürlich nicht so gut, da zu aufwändig. Von der Taktik der DB-Server kann man sich allerdings was abgucken: Schreib ein drittes Prog, welches im Hintergrund läuft un dem du Befehle sendest. Oder wenn Prog A immer dann läuft, wenn prog B läuft, daa kannst du das entsprechende Teil auch in Prog A einbauen.
Einfacher wäre es, wenn du die Zugriffe immer so kurz wie möglich hälst. Immer sofort wieder
closefile;
Nachdem die Opertion durchgeführt wurde...

glkgereon 7. Mai 2004 19:33

Re: zwei Programme miteinander kommunizieren lassen
 
das einfachste (und dümmste) :-D

wäre, es zeitgesteuert zu machen, so in etwa:

bei gerader sekundenzahl ist prog a dran, bei ungeraden prog b

das ganze funzt natürlich nur, wenn die operationen kurz (höchstens 0,99 sek) sind

das ganze liesse sich natürlich auch mit 0,5 sek rythmen machen usw.

nur, wie gesagt, die datei darf nicht zu gross werden

yankee 7. Mai 2004 19:46

Re: zwei Programme miteinander kommunizieren lassen
 
Es wäre ganz hilfreich, wenn du uns mitteilen würdest, was das für Daten sind, die gespeichert werden und auf welchem wege du das tust...


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 1 von 3  1 23      

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