AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Log-Datei realisieren

Ein Thema von MatthiasR · begonnen am 8. Nov 2007 · letzter Beitrag vom 8. Apr 2016
Antwort Antwort
MatthiasR

Registriert seit: 21. Apr 2005
193 Beiträge
 
#1

Re: Log-Datei realisieren

  Alt 12. Nov 2007, 10:18
Nach nochmaligem Studiums der Delphi-Hilfe möchte ich einfach mal ins blaue rein behaupten, dass das Verhalten sogar gewollt ist und keinen Delphi-Fehler darstellt. Aber lest selbst:
Zitat von Delphi-Hilfe:
Die Variable gibt den Zugriffsmodus für typisierte und nicht typisierte Dateien an, die mit Reset geöffnet werden.

Unit

System

Kategorie

Ein-/Ausgabe

Delphi-Syntax:

var FileMode: Byte = 2;

Beschreibung

In Delphi legt FileMode den Zugriffsmodus fest, wenn typisierte und nicht typisierte Dateien (keine Textdateien) mit der Prozedur Reset geöffnet werden.

Der Standardwert von FileMode ist 2 (Schreib-/Lesezugriff). Wenn Sie dieser Variablen einen anderen Wert zuweisen, wird der betreffende Modus bei allen folgenden Reset-Aufrufen verwendet. In der Unit SysUtils sind eine Reihe von Zugriffsmodus-Konstanten für Dateien deklariert, die der Variablen FileMode zugewiesen werden können.

Hinweis: Setzen Sie FileMode unbedingt zurück, bevor Sie Reset für eine schreibgeschützte Datei aufrufen. Auch wenn die Datei nur gelesen werden soll, verursacht der Standardwert von FileMode (Schreib-/Lesezugriff), dass das Öffnen einer schreibgeschützten Datei fehlschlägt.

Warnung: FileMode ist als Variable deklariert, nicht als threadvar. Deshalb ist diese Variabel nicht thread-sicher.
Hier ist nur von Reset die Rede, NICHT von Rewrite oder Append. D.h. so wie ich die Sache sehe, ist die Variable "FileMode" nur für lesenden Zugriff gedacht, und da ist es ja auch sinnvoll, da lesend standardmäßig ja beliebig viele Instanzen auf eine Datei zugreifen können. Wenn man das nicht möchte, dann kann man sich mit dem vorigen Umstellen des FileMode behelfen.

Beim schreibenden Zugriff finde ich es jedoch schon sinnvoll, dass immer nur EINE Instanz auf eine Datei zugreifen kann. Und mir fällt leider auch kein sinnvolles Beispiel ein, bei dem ein andres Verhalten - so wie von dir gewünscht - einen Sinn ergibt. Kannst du mir eines nennen?

Wieder anders ist es, wenn eine Instanz schreibend, eine zweite lesend die Datei öffnen will, das müsste man fast mal ausprobieren, wie Delphi sich dort verhält, jedoch ist das für meinen Anwendungsfall ja irrelevant.
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:48 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