AGB  ·  Datenschutz  ·  Impressum  







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

ini file manchmal zerstört

Ein Thema von surfer007 · begonnen am 27. Feb 2013 · letzter Beitrag vom 1. Mär 2013
Antwort Antwort
Seite 2 von 3     12 3      
surfer007

Registriert seit: 17. Jan 2010
51 Beiträge
 
Delphi 7 Professional
 
#11

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 14:20
Danke für die Antworten! Ich hatte mal ein Testprogramm geschrieben das relativ häufig via Timer eine INI öffnet und einen Wert schreibt. Dann die EXE zwei mal gestartet und parallel laufen lassen. Funktioniert problemlos, d.h. die INI hält selbst gleichzeitige Zugriffe von zwei verschiedenen Anwendungen durch.

Dann hatte ich nochmals ein Testprogramm gemacht, jeweils einen Button INI öffnen, INI lesen, INI schreiben, INI schliessen. Gleicher Test mit 2x die EXE starten. EXE1 INI öffnen, dann INI lesen, ist ok. Dann EXE2 INI öffnen (INI ist noch von EXE1 offen), klappt, INI lesen klappt, INI schreiben klappt auch. Selbst mit EXE1 wieder lesen zeigt den Wert den EXE2 geschrieben hat, und beide EXE haben die INI noch offen!

Warum also "manchmal" die INI zerschossen wird ist mir ein Rätsel, da INI ja scheinbar einiges mit macht. Vielleicht doch irgendwo ein Free untergegangen?!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#12

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 14:42
Dein Test beweist nur, daß es manchmal, vielleicht auch häufig funktioniert. Als Test, ob konkurrierende Zugriffe sicher abgefangen werden, taugt er nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#13

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 14:44
Dann EXE2 INI öffnen (INI ist noch von EXE1 offen), klappt, INI lesen klappt, INI schreiben klappt auch. Selbst mit EXE1 wieder lesen zeigt den Wert den EXE2 geschrieben hat, und beide EXE haben die INI noch offen!
Was meinst du mit "noch offen"? Bei TMemInifile erfolgen die Zugriffe auf die Datei nur innerhalb von Create und UpdateFile. Insofern kannst du über TMemInifile die Datei gar nicht offen halten.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
surfer007

Registriert seit: 17. Jan 2010
51 Beiträge
 
Delphi 7 Professional
 
#14

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 15:58
Zitat:
Was meinst du mit "noch offen"?
nur
MyIni := TMemIniFile.Create(ExtractFilePath(Application.Exe Name) + 'my.ini');

ohne
MyIni.Free;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#15

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 16:01
Da ist nix offen, lediglich die TMemIniFile-Instanz ist noch da und hat die komplette Ini im Speicher. Die Datei selbst ist aber dadurch nicht geöffnet.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#16

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 16:22
Als ich kenne das nicht von der Ini, aber schon mal bei anderen Dateien gesehen, dass die nicht komplett gespeichert wurden. Also früher, vor DSL, konnte man ein Bild zerstören, wenn man es gerade zur Hälfte geladen hat und schon auf speichern klickte. Anscheinend habend die Browser nicht gewartet bis das Bild zu ende geladen wurde. Auch kenne ich zerstörte Dateien von Programm Abbrüchen und Windows Abstürzen.

Somit war die Frage von mir schon berechtigt, ob dem Kunden zufällig alle zwei Wochen der Rechner abschmiert. Sowas erzählen die Kunden i. d. R. nicht von alleine.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#17

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 17:56
Also ich würde einfach die Einstellungen in der INI vornehmen und dann um das Speichern ein Try-Except bauen. Im Fehlerfall auswerten und ggf. nochmals versuchen. Nach ein paar Versuchen die Datei entweder unter einem anderen Namen abspeichern, oder die angeblich geblockte Originaldatei umbenennen (das geht meistens) und dann den Speichervorgang wiederholen.

Weiterhin würde ich prüfen, ob die INI-Datei plötzlich kleiner geworden ist, nur um herauszufinden, wann das genau passiert.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 18:53
Hallo,

wo liegt denn deine Ini-Datei ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 21:41
Also ich kenne das Phänomen, eine Lösung haben wir aber noch nicht gefunden, weil es nicht nachvollziehbar ist. Wir haben in unserer Konstellation in der tat zwei Prozesse,die auf die selbe INI zugreifen. Der Witz ist aber, nicht gleichzeitig. Prozess 1 schreibt in die INI und wird beendet,ruft dabei Prozess 2.dieser oeffnet die Datei.manchmal fehlt das Ende,ein ziemlich großer teil.

Vielleicht ein cache-problem? Datei liegt auf Netz Laufwerk.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#20

AW: ini file manchmal zerstört

  Alt 28. Feb 2013, 22:18
Was heißt denn überhaupt zerschossen? Was bleibt denn da übrig?

Passiert das auch mit TIniFile oder nur mit TMemIniFile?
Gruß
Cookie
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 07:40 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