AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Beste Möglichkeit für Datenaustausch für ein Programm
Thema durchsuchen
Ansicht
Themen-Optionen

Beste Möglichkeit für Datenaustausch für ein Programm

Ein Thema von cyanroot · begonnen am 20. Mär 2009 · letzter Beitrag vom 20. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 11:51
Zitat von cyanroot:
Momemt mal, aber das Prinzip habe ich ja jetzt auch. Die Daten werden in eine Memo geladen, jemand verändert den Inhalt und speichert. Dabei werden die Lines der Memo in eine notes.txt abgespeichert. Was sollte denn daran nicht gehen?
So funktioniert das allerdings gar nicht...

Ü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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
cyanroot

Registriert seit: 19. Okt 2008
43 Beiträge
 
#12

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 13:25
Die Änderung wird aber sofort in die Datei gespeichert und neu in alle Instanzen geladen. So müsste es doch gehen?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 14:06
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
cyanroot

Registriert seit: 19. Okt 2008
43 Beiträge
 
#14

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 14:37
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.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 14:49
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 , 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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#16

Re: Beste Möglichkeit für Datenaustausch für ein Programm

  Alt 20. Mär 2009, 15:53
Man könnte die zentrale Datei exklusive sperren, kurz etwas schreiben und dann wieder schliesen.
http://www.delphipraxis.net/internal...ct.php?t=62072
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.
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.
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