![]() |
Immer Default-Wert bei Ini.ReadString
Hi,
ich mache grade eine Update-Funktion für mein Prog.. Hier mal der Text mit dem Fehler:
Delphi-Quellcode:
Nun ließt er aba einfach nicht den Wert aus der Ini.
var
stream: TFileStream; reg: TRegistry; ini: Tinifile; begin stream := TFileStream.Create('Version.ini', fmcreate); ini := Tinifile.Create('Version.ini'); try FTPUpdate.Connect; FTPUpdate.Get('Version.ini', stream); finally FTPUpdate.Disconnect; stream.Free; end; try AEinst.OnVer := ini.ReadString('Version', 'Version', ''); Showmessage(AEinst.OnVer); finally ini.Free; end; . . . Die sieht so aus:
Code:
Herunterladen tut er sie auch.
[Version]
Version=1_0_0_0 D.h. der Fehler muss in
Delphi-Quellcode:
sein. aber da kann man eigentlich nicht so viel falsch machen. Doch nimmt er immer den Alternativ-Wert (in meinem Fall '').
AEinst.OnVer := ini.ReadString('Version', 'Version', '');
Findet jemand den Fehler. Gruß Mariaki |
Re: Immer Defalt-Wert bei Ini.ReadString
Delphi-Quellcode:
Und wo in den hunderten Ordner auf deiner Festplatte soll Windows die Ini-Datei finden?
ini := Tinifile.Create('Version.ini');
|
Re: Immer Defalt-Wert bei Ini.ReadString
Zitat:
![]() Zitat:
Der FileStream nimmt aber ohne Pfadangabe das aktuelle Arbeitsverzeichnis. Ergo: relative Pfade sind böse. |
Re: Immer Defalt-Wert bei Ini.ReadString
Ach wie doof.. ich hab da jetzt 1 Stunde dran gesessen.. ja.. ok.. danke..
nehme aber trotzdem ini.. einfacher als wenn man erst ne *.reg macht die herunterlädt.. dann in die registry lädt und dann den wert aus der registry nimmt.. trotzdem thx@all |
Re: Immer Defalt-Wert bei Ini.ReadString
Zitat:
@Mariaki: Du sollst nicht die Registry benutzen, sondern einfach nur den absoluten Pfad zu der Ini-Datei angeben. |
Re: Immer Defalt-Wert bei Ini.ReadString
Abgesehen davon:
Zitat:
|
Re: Immer Defalt-Wert bei Ini.ReadString
Zitat:
Also in diesem Fall ginge dieses Vorgehn (wenn der Pfad stimmen würde). Aber bei anderen Klassen, wie z.B. TMemIniFile und eigentlich alle anderen Abkömmlingen davon, würde dein Einwand stimmen. Und da das Vorgehn von TIniFile recht "unkonservativ" ist, sollte man besser auf dich hören. > erst Datei erstellen > alles speichern > Datei schließen > und danach dann erst auslesen PS: Wozu diese Datei eigentlich real ablegen? ich würde sie in einen String oder Stream runterladen und dann direkt mit TMemIniFile drauf zugreifen, welches auch komplett im RAM damit arbeiten kann. |
Re: Immer Defalt-Wert bei Ini.ReadString
[OT]
Könnt jemand bitte noch der Überschrift ein "u" spendieren? [/OT] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 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