LabVIEWForum.de
Problem beim Lesen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Problem beim Lesen (/Thread-Problem-beim-Lesen)



Problem beim Lesen - H.K. - 22.02.2012 13:52

Hallo,
ich bin neu im Forum und habe folgendes Problem:

Ich habe 2 Projekte, die ein nd dieselbe Datei aufrufen, die eine Textdatei liest.

Gleichzeitig wird in diese Textdatei dauerhaft reingeschrieben mit einem gewissen Zyklus.

Beim Loggen der sich überschreibenden Werte in der Textdatei habe ich festgestellt, dass die falschen Werte sehr vereinzelt auftreten.

Kann es Probleme geben beim Lesen von Konfigurationsdaten ( darüber öffne ich die Datei und schreibe da auch rein), wenn gleichzeitig darauf geschrieben wird?

Die Werte die geschrieben werden sind konstant; es wird immer dasselbe geschrieben. Vereinzelt lese ich aber default-Werte und nicht die Werte die ich in die Textdatei schreibe.

Muss man bei den "Konfigurationsdaten öffnen" (die ich verwende) auf etwas bestimmtes achten?

Danke im Vorraus.

MfG

H.K.


RE: Problem beim Lesen - Achim - 22.02.2012 14:08

Ist das wirklich das richtige Unterforum?

Wie auch immer:

Konfigdateien werden im allgemeinen nicht dazu verwendet, ständig reinzuschreiben bzw. zu lesen. Normalerweise wird das einmalig zu Beginn und am Ende des Programms gemacht, oder z.B. bei Änderungen in einem Konfigurationsmodus.

Das Close config data.vi hat einen Eingang "Write file if changed", den solltest du beachten!

Es kommt aber immer wieder vor, dass bei sich überschneidenden Zugriffen Daten verloren gehen oder nicht aktualisiert werden. Darum gilt für Konfig-Dateien: ABWECHSELND lesen und schreiben, und zwischendurch immer ordentlich die Datei schließen!

A.


RE: Problem beim Lesen - jg - 22.02.2012 19:48

(22.02.2012 14:08 )Achim schrieb:  Ist das wirklich das richtige Unterforum?
Nö, deswegen auch Verschoben

@H.K.: Ich kann mir schon vorstellen, dass es Ärger macht, wenn du aus 2 Instanzen in derselben INI-Datei liest und schreibst.
Wenn man sich nämlich mal den dahinterliegenden Code ein wenig anschaut, stellt man fest, dass immer die gesamte Datei bei "Open File" gelesen und am Ende bei "Close File" wieder geschrieben wird.
Der Rest passiert nur im Speicher!

Wenn du also in einer Instanz irgendeinen neuen Ini-Eintrag erzeugst, dann den File per "Close" wegschreibst, während die andere Instanz gerade ebenfalls Manipulationen vornimmt, dann bekommt diese gar nichts von dem neuen Ini-Eintrag mit. Und das war es dann. Flop
Beim nächsten Lesen dieses Ini-Eintrages bekommst du einen Default-Wert heraus.

Gruß, Jens