![]() |
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Zitat:
Überleg mal: Eine Instanz des Programms lädt den Inhalt. Kurz danach lädt eine andere diesen ebenfalls. Jetzt wird in beiden Instanzen der Inhalt verändert. Jetzt speichert eine der beiden Instanzen die Datei. Aber was passiert, wenn jetzt die zweite Instanz speichert? Die Änderungen der ersten Instanz sind dann weg, denn die Datei wurde ja zum Ändern geladen bevor die erste Instanz ihre Änderungen gespeichert hat... Die wirklich einzige Möglichkeit sowas überhaupt so zu machen wäre, wenn die Datei direkt zum Schreiben geöffnet, sofort geändert und sofort wieder geschlossen wird. |
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Die Änderung wird aber sofort in die Datei gespeichert und neu in alle Instanzen geladen. So müsste es doch gehen?
|
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Das neu laden ist der Punkt: Woher wollen die anderen Instanzen das wissen? Eine Benachrichtigung über Änderungen gibt es im Netzwerk nicht, das funktioniert nur lokal.
Zudem gehen dann die gerade bearbeiteten Änderungen der anderen Instanzen verloren, die in dem Memo gerade getippt stehen, wenn du das Memo mit einer Änderung überschreibst. Wie gesagt: Für deine persönlichen Zwecke mag es so ausreichen, aber es gibt einige schwerwiegende Probleme. Für eine Veröffentlichung oder die Verwendung in einer Firma wäre dieses Vorgehen inakzeptabel. |
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Also die Programm-exe liegt bei mir aufm Server (auch die .txt's) und im lokalen Netzwerk greifen ein paar Leute drauf zu, somit leigt die .txt auch zentrail. Geht's so auch nicht? Danke.
|
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Genau darum geht es doch. Ich habe den Ablauf doch erklärt.
Überleg doch einmal selbst was passiert, wenn die einzelnen Teile des Zugriffs parallel ablaufen. Oder wenn du dir das nicht vorstellen kannst :shock: , dann probiere es eben aus. Es passiert ja genauso, wenn du es lokal mit zwei Instanzen ausprobierst. Du musst während der Bearbeitung z.B. eine andere Instanz des Programms starten und dort etwas bearbeiten. Jetzt speichere beides und du siehst, dass das schief geht. |
Re: Beste Möglichkeit für Datenaustausch für ein Programm
Man könnte die zentrale Datei exklusive sperren, kurz etwas schreiben und dann wieder schliesen.
![]() Diese Technik funktioniert zuverlässig auch bei vielen Arbeitsstationen wenn die Schreib- und Leseaktionen kurz und relativ selten sind. Der Fileserver selbst stellt dann den Mutex dar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz