![]() |
Mal wieder das nervige Thema Speicherorte
Hallo zusammen,
es wird hier zwar ständig durchgekaut, aber irgendwie bin ich mir immer noch nicht sicher was jetzt wirklich richtig ist. Ich habe hier schon mehrer Threads verfolgt und versucht diese Entscheidung mit den Speicherorten auch für mich zu übernehmen. Nachdem ich mit viel Mühe und Kleinarbeit mein Programm umgebaut habe, treten aber immer noch Fehler beim Speichern in einer einfachen INI Datei auf. Die INI Datei habe ich in folgendem Verzeichnis gespeichert. Betreibssystem Windows Vista C:\ProgrammData\hu\inf\NetCon.ini Bei XP hatte ich die mit dem selben Init-String
Delphi-Quellcode:
in folgedem Verzeichnis...
const
strAppDataDir = '\HU\inf\'; .... var AppDataDir : string; sMessage : String; begin try AppDataDir := GetSpecialFolder(CSIDL_COMMON_APPDATA) + strAppDataDir; C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\hu\inf\NetConf.ini Entweder, habe ich immer da noch was falsch verstanden oder irgendwas falsch gemacht. Weil ich in dem Verzeichnis unter Vista manchmal speichern kann und manchmal nicht. Ich bin aber immer als Admin angemeldet. Und es müsste ja in dem Pfad auch als User gehen. ODER? Gruß Jens |
Re: Mal wieder das nervige Thema Speicherorte
Überprüf das mal in deinen Sourcen:
C:\ProgrammData\hu\inf\NetCon.ini C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\hu\inf\NetConf.ini |
Re: Mal wieder das nervige Thema Speicherorte
Der Pfad stimmt. Ich weiß nicht wo das Problem liegt. Seltsamer weiße tritt das Problem auch nicht immer auf. Ich muss das jetzt noch mal prüfen. Ich kann die Datei z.B. auch nicht von Hand ändern. Das heitßt ich muss dafür folgendes machen.
Datei Öffnen Datei Ändern Datei am selben Ort unter anderem Namen speichern Orginal Datei löschen Geänderte Datei wieder in Original Namen ändern Jetzige Datei Öffnen Datei wieder Ändern Datei Speichern geht mit Orginal Namen. :gruebel: Laptop AUS -> Laptop AN -> Problem wie eben erläutert Gruß Jens |
Re: Mal wieder das nervige Thema Speicherorte
Zitat:
|
Re: Mal wieder das nervige Thema Speicherorte
Sorry, ist mir nicht aufgefallen. Ist aber nur ein TipFehler. Hatte das von Hand hier eingetragen.
Gruß Jens |
Re: Mal wieder das nervige Thema Speicherorte
Ist "C:\ProgrammData" auch ein Tippfehler?
|
Re: Mal wieder das nervige Thema Speicherorte
Jupp :thumb:
|
Re: Mal wieder das nervige Thema Speicherorte
Wo kommt denn GetSpecialFolder her? Kann ich bei mir so nicht finden...
|
Re: Mal wieder das nervige Thema Speicherorte
Ist folgende procedure.
Das Ergebnis des Strings stimmt auch. Habe ich hundert mal probiert.
Delphi-Quellcode:
Gruß Jens
{Speicherpfad ermitteln um Speicherziel der User Einstellungen festzulegen}
function GetSpecialFolder (aFolder: Integer): String; var pIdL: PItemIDList; Path: Array [0..Max_Path] of Char; Allocator: IMalloc; begin // ItemIdList für den Ordner holen SHGetSpecialFolderLocation (0, aFolder, pIdL); // ItemIdList in String umwandeln lassen SHGetPathFromIDList (pIDL, Path); // Speicher wieder freigeben if Succeeded (SHGetMalloc (Allocator)) then begin Allocator.Free (pIdL); {$IFDEF VER100} Allocator.Release; {$ENDIF} end; Result := Path; end; |
Re: Mal wieder das nervige Thema Speicherorte
Moin Jens,
Zitat:
Unter Windows Vista bzw. 7 habe ich noch nicht nachgesehen. Schau doch einfach mal im Reiter "Sicherheit" welche Rechte ein Benutzer hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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