![]() |
TIniFile.ReadString erzeugt Schreibzugriff ?
Hallo #,
ich dachte immer, dass Windows die Ini-Dateien nur zum Lesen öffnet, wenn ich nur per ReadString zugreife. Der Application Verifier meckert aber und sagt, ich will Schreiben. :wall: Der folgende Code wird angemeckert. Ich weiss, dass Ini-Dateien out sind, aber sie sind so schön einfach für kleinere lokale Optionen. Ich will da nicht die Registry bemühen.
Delphi-Quellcode:
IniFile:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'App.Ini');
try bMultipleInstances:= IniFile.ReadBool('Options', 'bMultipleInstances', False); finally IniFile.Free; end; Heiko |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Hallo Heiko,
probiere es mal mit TMemIniFile anstelle von TIniFile. Grüße vom marabu |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Zitat:
Zitat:
|
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Hallo,
ja, ich weiss, der Punkt ist, der Nutzer kann dort ein paar Sachen reinschreiben, die das Startverhalten des Programms beeinflussen. Aber 1. es soll keiner so ohne weiteres machen können und 2. wenn doch, soll es einfach festzulegen sein. TRegIniFile heisst für den Nutzer "regedit fummeln". Naja, ich werde ihm wohl ein Form dafür spendieren müssen, obwohl es mir nicht so passt. Heiko |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Zitat:
|
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Hi,
ich glaube es gibt zig andere Ini-Komponenten, davon auch ein zwei recht bekannte, die eben die VCL Version ersetzen können. Da sind dann sämtliche Beschränkungen in der Größe bereits entfernt (insbesonder die 64K Grenze, soweit die in der VCL auch existiert). Einfach mal suchen, könnte sowas wie TBigIni oder so gewesen sein. Gruß Der Unwissende |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Hallo,
diese ini ist der Rest von altem Code. Ich muss das eh umstellen. Ich bin nur darüber gestolpert beim Test des Application Verifiers. Zu XML, das löst das Problem nicht. Ich habe die Ini ja im Programme-Verzeichnis ;) Und dort erlaubt der UAC von Vista keinen Schreibzugriff. Korrektur, der Admin darf ja, also würde das das Problem doch lösen, wenn die XML-Kompponente wirklich nur lesend zugreift. Aprpos: Welche Komponente nimmt man ??? Ich kenne bisher nur die von MS direkt. Heiko |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Zitat:
Dort kannst du als Vendor auch einen anderen als MSXML angeben. z.B OpenXML (das ist native Object Pascal) |
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Was spricht dagegen, die Ini-Datei an einen Ort mit Schreibrechten zu verlegen? Jeder User hat dafür ja sein eigenes Verzeichnis, leg dort einfach ein Verzeichnis mit Deinem Programmnamen an und speicher die Ini-Datei dort drin ab. Wir stellen hier auch gerade diverse Projekte dahingehend um...
|
Re: TIniFile.ReadString erzeugt Schreibzugriff ?
Zitat:
![]() Öffnet erst zum Schreiben, wenn geschrieben werden soll... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:05 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 by Thomas Breitkreuz