AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Zitat:
|
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Zitat:
Um das Verhalten zu konsolidieren, würde ich eher eine konsistente Implementierung von TIniFile als Spezialisierung von TMemIniFile auch unter Windows vorziehen. |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Für das Verhalten von
Delphi-Quellcode:
unter Windows kann Delphi nicht wirklich etwas, das ist das Verhalten der WinAPI.
TIniFile
Aber wie Uwe schon sagte, es bleibt zu klären, wie es denn jetzt funktionieren soll. |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Zitat:
Noch sinnvoller wäre aber wohl ein optionaler XML-Adapter oder so um das ganze leicht in ein moderneres Format zu bringen... |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Da habe ich ja eine Diskussion losgetreten ;-)
Ich nutze meine Konstruktion mit TMemIniFile nur zum lesen der Datei, ich speichere darin nichts ab, habe ich mir jetzt einfach die "alte" Variante von TMemIniFile (< 10.3 Rio) nachgebaut und nutze diese Klasse. Damit geht alles wie vorher auch. Übrigens war das Verhalten von TMemIniFile in Tokyo auch das gleiche Verhalten wie in allen Versionen davor auch. Also nicht Tokyo hatte die "falsche" Implementierung sondern Rio ist die erste Version, die es "richtig" macht. Ob richtig oder nicht, kann sich jeder selber überlegen bzw. es nutzen wie man es eben braucht :-D |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
TMemIniFile basierte auf TStringList (zumindest noch vor Rio).
Hab jetzt nicht gecheckt was genau da in Rio wohl umgebaut worden ist. Zitat:
Das mehrere gleiche Sections Probleme machen können sollte auch vom Einsatz der ursprünglichen TStringList als Basis klar gewesen sein. Wenn das nun unbedingt gebraucht wird, würde ich versuchen das alte Verhalten mit TStringLists in einer eigenen Klasse oder Ableitung nachzubilden. Rollo |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Hallo,
Zitat:
Aber Unit-Tests sollten sowas finden (wenn man überhaupt davon ausgeht, das das was schiefgehen kann...) |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Zitat:
|
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Hallo,
wenn die das mit den Unit-Tests nicht machen würden, würde gar nichts nach einem Update funktionieren. Aber auch das Schreiben von guten Unit-Tests muss gelernt sein. Aber schön wäre auch mal das Compilieren der IDE mit FastMM4... ;) |
AW: Unterschied TMemIniFile 10.2 Tokyo / 10.3 Rio
Zitat:
Um nochmal auf das ursprüngliche Verhalten von TMemIniFile anhand des obigen Testprogramms zurückzukommen: Die zweite Section wird zwar bei ReadSections aufgelistet, an ihren Inhalt kommt man aber weder mit ReaadString noch ReadSectionValues ran (gleiches gilt auch für TIniFile). Wozu sollte das zweite Vorkommen dieser Section denn nun überhaupt gut sein? Eigentlich müsste man bei ReadSections diese Doublette doch besser gleich entfernen (oder eine Exception werfen). Dann hat man aber faktisch dasselbe Verhalten, als ob die doppelte Section gar nicht in der INI vorhanden wäre. In Rio wird dieses Verhalten (bewusst oder unbewusst) geändert in der Art, daß zwar die doppelte Section nicht mehr aufgeführt wird, deren Werte aber jetzt zur Verfügung stehen. Als Nebeneffekt wird beim Schreiben von TMemInifile auch noch implizit eine Normalisierung durchgeführt, bei der die doppelten Sections in einer zusammengefasst werden. Ich finde dieses Verhalten wesentlich realistischer und auch sinnvoller, wobei ich ziemlich sicher bin, daß dies nicht wirklich der Grund für diese Änderung war, sondern es sich eher um einen Nebeneffekt handelt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:45 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