Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Vista und IniFiles (https://www.delphipraxis.net/95579-vista-und-inifiles.html)

capo 9. Jul 2007 22:46


Vista und IniFiles
 
Ich kann unter Vista nicht mit IniFiles arbeiten, habe immer wieder Fehlermeldung beim speichern.
Wie kann ich das ändern?
gruss vom capo

mkinzler 9. Jul 2007 22:47

Re: Vista und IniFiles
 
Wo legst du die Inis ab?

capo 9. Jul 2007 22:55

Re: Vista und IniFiles
 
Im Programmordner
C:\Program-Files\abc\abc.exe
Obwohl der Programmordner nicht Program-Files heißt sonder Programme, auch merkwürdig.
gruss capo

mkinzler 9. Jul 2007 22:57

Re: Vista und IniFiles
 
Unter Vista hat ein normaler Benutzer keine Schreibrechte, deshalb werden Zugriffe umgelenkt. Verfrachte die Inis besser unter All Users bzw. ins Benutzerverzeichnis

capo 9. Jul 2007 23:00

Re: Vista und IniFiles
 
Danke.
Das ist gut...hatte hier irgendwo auch was darüber gelesen wie man das Benutzerverzeichnis findet.
Wie findet man den All Users Ordner?

capo 9. Jul 2007 23:17

Re: Vista und IniFiles
 
Ich habs :)
Andererseits werden auch noch andere Daten im Programmordner gespeichert, auweja.
Nun muss ich alles ändern.

Hansa 9. Jul 2007 23:48

Re: Vista und IniFiles
 
hier mal gucken :

http://www.delphipraxis.net/internal...=vista&start=0

Insbesondere ab/oder nur Beitrag 24. An meiner Einschätzung in punkto Vista hat sich jedenfalls mal nichts geändert. Habe das heute nochmals verifizieren müssen. :P Dank der Frage hier. :twisted: Schmeiß mal Deinen Kram samt INI's in ein vorher erstelltes Verzeichnnis lege dann noch einen User mit eingeschränkten Rechten an, melde sich als diesen an und melde etwaige Fehler.

capo 10. Jul 2007 00:13

Re: Vista und IniFiles
 
Das gleiche in grün.
Erhalte dieselben Fehlermeldungen.

Das ganze Thema ist wirklich kompliziert.
Ich muss halt einen Ordner bei All Users erstellen erstellen und die Ini Datei dort ablegen.
Selbst das ist momentan schon ein Problem ...

Evtl. liegt es auch an der Uhrzeit.

gruss vom capo

Hansa 10. Jul 2007 00:47

Re: Vista und IniFiles
 
Zitat:

Zitat von capo
..Erhalte dieselben Fehlermeldungen.

Das ganze Thema ist wirklich kompliziert.
...
Selbst das ist momentan schon ein Problem ...

Welche Fehlermeldungen denn ? (event. einstellige Fehlernummern ?) Kompliziert ist das nicht, eher komplex. :mrgreen: Passt ein Treiber nicht, dann ist eben damit Ende bzw. suchen angesagt usw. Deine Probleme haben wohl andere Ursache. Bin hier übrigens an Vista Rechner als NICHT-Administrator angemeldet und kann sowohl Delphi, als auch meine eigenen Programme benutzen inkl. INIs.

capo 10. Jul 2007 13:18

Re: Vista und IniFiles
 
ichbin hier grad nicht an dem vistarechner, schick heute mittag die fehlermeldung.

ich verwende
Delphi-Quellcode:
ExtractFilePath(Application.ExeName)
kann es auch daran liegen?

danke
gruss vom capo

hoika 10. Jul 2007 13:37

Re: Vista und IniFiles
 
Hallo,

genau damit bekommst du das Programme-Verzeichnis
(genauer das deiner Anwendung unterhalb des Programme-Verzeichnis),

Das Schreiben ist im Programme-Verzeichnis UND allen
Unterverzeichnissen nicht erlaubt.


Heiko

Hansa 10. Jul 2007 14:32

Re: Vista und IniFiles
 
Zitat:

Zitat von hoika
..(genauer das deiner Anwendung unterhalb des Programme-Verzeichnis),
..
Das Schreiben ist im Programme-Verzeichnis UND allen
Unterverzeichnissen nicht erlaubt.

Im Stammverzeichnis eines anderen Users ist das nicht erlaubt, richtig. Andere Verzeichnisse haben damit aber nichts zu tun.

Bernhard Geyer 10. Jul 2007 14:38

Re: Vista und IniFiles
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von hoika
..(genauer das deiner Anwendung unterhalb des Programme-Verzeichnis),
..
Das Schreiben ist im Programme-Verzeichnis UND allen
Unterverzeichnissen nicht erlaubt.

Im Stammverzeichnis eines anderen Users ist das nicht erlaubt, richtig. Andere Verzeichnisse haben damit aber nichts zu tun.

Ins eigene geht auch nicht falls die Anwendung nicht das virtualisieren verbietet (erweitertes Manifest) und es aktiv ist werden (Schreib-)zugriffe auf das Programmverzeichnis umgebogen. Es gibt schon genügend Entwickler die dieses neue Vista-Verhalten leidvoll erfahren mußten und es werden immer mehr.

mkinzler 10. Jul 2007 14:40

Re: Vista und IniFiles
 
Zitat:

Im Stammverzeichnis eines anderen Users ist das nicht erlaubt, richtig. Andere Verzeichnisse haben damit aber nichts zu tun.
Das eine hat mit dem anderen nichts zu tun aber trotzdem hat ein normaler Benutzer im Programmverzeichnis keine Schreibrechte! das war auch schon unter älteren (NT-basierenden) Windowsbetriebssystemen so!

DGL-luke 10. Jul 2007 14:46

Re: Vista und IniFiles
 
Hansa, tu doch nicht wieder Blödsinn quatschen. auf "C:\Program Files" sollte man standardmäßig als Benutzer keine Schreibrechte haben.

Da hilft einem MSDN-Library durchsuchenSHGetSpecialFolderLocation, ein Beispiel hier: http://www.delphipraxis.net/internal...ct.php?t=68551 , es sollte eigentlich in der Codelib was dazu stehen, das hab ihc aber jetzt auf die schnelle nicht gefunden.

Mit der FUnktion kannst du z.B. den "Lokale Einstellungen"-Ordner des aktuellen Benutzers herausfinden und darauf zugreifen.

capo 10. Jul 2007 14:49

Re: Vista und IniFiles
 
Hallo..
also die Fehlermedung lautet so:
Delphi-Quellcode:
---------------------------
Test
---------------------------
In C:\Program Files\Test\inifiles\einstellungen.ini kann nicht geschrieben werden.
---------------------------
OK  
---------------------------
Kann ich dann in das All Users Verzeichnis schreiben? Wohin muss ich dort die Dateien kopieren?
Gruss vom capo

T.E. 10. Jul 2007 16:16

Re: Vista und IniFiles
 
Zitat:

Zitat von capo
Danke.
Das ist gut...hatte hier irgendwo auch was darüber gelesen wie man das Benutzerverzeichnis findet.
Wie findet man den All Users Ordner?

Kleiner Tipp, alle Benutzer und deren Dateien (dazu gehört auch der Ordner "All Users") befinden sich normal in diesem Pfad:

C:\Users

Und die Ini Files kannst du unter glaube ich trotzdem auch unter dem derzeitig angemeldetetn User specihern.

Übrigens um
Zitat:

Im Programmordner C:\Program-Files\abc\abc.exe
das zu berichtigen, der Pfad für deinen Prorammeordner lautet: C:\Program Files
Daraus folgt, das dein Programm dann unter:

C:\Program Files\abc\abc.exe

gespeichert wird, oder sich dort befindet.


Edit: Die Datei müsstest du eigentlich irgendwo im Ordner All Users speichern können. D.h.in deinem Ordner für alle User (C:\Users\Public) kannst du z.B. irgendwo einen Ordner namens "Test" anlegen und da deine "Einstellungen.ini" speichern.

hoika 10. Jul 2007 18:08

Re: Vista und IniFiles
 
Hallo capo,

gehe zum Link vor denem Posting,
dort steht, wie man an das AllUsers rankommt.


Heiko

Hansa 11. Jul 2007 20:58

Re: Vista und IniFiles
 
Zitat:

Zitat von DGL-luke
Hansa, tu doch nicht wieder Blödsinn quatschen....

Du steigerst die Qualität des Forums ungemein. :???: Wie wärs mal mit dem C-Teppich ? DGL : welche Vista-Version ist bei dir verfügbar ? Behauptest ja, dich gut damit auszukennen. Also bitte Antwort geben.

DGL-luke 13. Jul 2007 12:46

Re: Vista und IniFiles
 
[OT]
Ich habe kein Vista, ich behaupte auch nie ich würd mich auskennen. Aber du hast schonmal von was ganz anderem (stammverzeichnis) gesprochen als thema war (programs-verzeichnis). Und ich war der festen Überzeugung, dass ein Benutzer mit Standardrechten da nicht reinschreiben kann - wie es auch bei XP schon war (da aber da eh alle mit Adminrechten arbeiten, war das meistens wurscht).

Fakt ist: Du hast Blödsinn (= völlig unrelevantes und falsches) erzählt, ich habe meine Enischätzung der Sachlage kundgetan und auf mögliche Hilfen verwiesen.
[/OT]

Und nu Butter beie Fische...

@capo: In meinem Beitrag findest du was du brauchst. Die Konstante die du dafür dann brauchst sollte CSIDL_COMMON_APPDATA sein.

Hansa 13. Jul 2007 13:29

Re: Vista und IniFiles
 
Zitat:

Zitat von DGL-luke
[OT]Ich habe kein Vista...

...und bezichtigst trotzdem andere Foren-Mitglieder des Blödsinn schreibens ? Männchen, Männchen :mrgreen: :???:

Wiederholung :

Zitat:

Zitat von Hansa
Im Stammverzeichnis eines anderen Users ist das nicht erlaubt, richtig. Andere Verzeichnisse haben damit aber nichts zu tun.

Es steht ihm also frei seine INIs im Verzeichnis C:\ABC\Programm abzulegen, wenn er das vorher angelegt hat (auch als Nicht-Admin). Ob das nun dem nicht mal ISO-konformen Windows konform genug ist, das ist eine andere Frage. Und dieses Verhalten ist keine auf XP beruhende Vermutung, sondern unter Vista mit diversen Usern getestet.

mkinzler 13. Jul 2007 13:33

Re: Vista und IniFiles
 
Das Problem ist dann nur, das ein Schreibzugriff zur Virtualisierung führt, und dann folgend für diesen Benutzer die falsche Ini genommen wird. Dies führt zu Problemen, welche man durch Verzicht der Ablage der Ini im Programmverzeichnis umgehen kann.

DGL-luke 13. Jul 2007 13:35

Re: Vista und IniFiles
 
@Hansa: Das ist für die aktuelle Fragestellung aber völlig irrelevant. Plonk.


http://luke.delphigl.com/resist.png

hoika 13. Jul 2007 13:37

Re: Vista und IniFiles
 
Hallo,

es ist (vielleicht) sogar noch schlimmer,
beim Auslesen per TIniFile wird die Datei mit Schreibzugriff geöffnet.

(Vielleicht), weil ich bei den ersten Problemen
sofort umgeschwenkt bin, ohne weiter zu forschen.

BTW: Ich habe es mit Vista Home Premium getestet.


Heiko

Hansa 13. Jul 2007 20:39

Re: Vista und IniFiles
 
Zitat:

Zitat von hoika
..es ist (vielleicht) sogar noch schlimmer,
beim Auslesen per TIniFile wird die Datei mit Schreibzugriff geöffnet.
...

Was ist schlimmer als was ? :shock:

mkinzler 13. Jul 2007 20:45

Re: Vista und IniFiles
 
Das bezog sich auf meine Antwort. Wenn die Komponente standardmässig schreiben öffnet, führt das zur Erstellung der virtualisierten Kopie für den Benutzer.

DGL-luke 14. Jul 2007 00:09

Re: Vista und IniFiles
 
Hallo, macht TMemIniFile das auch? das sollte eigentlich erstmal die Datei öffnen, komplett einlesen und dann wieder schließen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 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