![]() |
CreateDir legt kein Verzeichnis an
Hallo zusammen,
ich habe einen Fehler, den ich mir nicht erklären kann:
Delphi-Quellcode:
Klappt bei mir hervorragend, bei 2 Nutzern, die genau so XP benutzen, wie ich, allerdings nicht!:(
Nummer := 0;
REPEAT ok := CreateDir(Verzeichnis); IF not ok THEN begin Inc(Nummer); o := Pos('~',Verzeichnis); if (o > 0) then Delete(Verzeichnis,o,255); Verzeichnis := Verzeichnis+'~'+IntToStr(Nummer); end; UNTIL ok; D.h. die Routine wird abgearbeitet, CreateDir MUSS also mal TRUE geliefert haben, aber es gibt KEIN Verzeichnis - Rechnersuche nach einer Datei, die dann IN dem Verzeichnis sein sollte, brachte kein Ergebnis. Kann das irgendetwas mit Benutzerrechten zu tun haben?! Iegendwelche Vorschläge!? Marc |
AW: CreateDir legt kein Verzeichnis an
Verwendest du Windos Wista oder Windows 7 und versuchst einen Ordner in einem Verzeichnis anzulegen, in dem du keine Schreibrechtre verfügst? (Dateisystemvirtualisierung)
|
AW: CreateDir legt kein Verzeichnis an
Zitat:
Bei fehlenden Rechten sollte CreateDir es allerdings False zurückliefen. Wie heißen denn die Verzeichnisse und wo sollen sie erstellt werden? Test:
Delphi-Quellcode:
Nummer := 0;
REPEAT ok := CreateDir(Verzeichnis); IF not ok THEN begin ShowMessage('OK'); ... end ELSE ShowMessage(SysErrorMessage(GetLastError)); UNTIL ok; |
AW: CreateDir legt kein Verzeichnis an
Bei XP kam aber ein Fehler bei fehlenden Rechten und ab Vista ( mit aktiver UAC) wird der Schreibzugriff umgelenkt.
|
AW: CreateDir legt kein Verzeichnis an
Das umlenken geschieht aber nur in bestimmten Verzeichnissen.
Darum auch die Frage nach den Verzeichnisnamen. Wobei das in XP ja noch kein Problem darstellen sollte. Zitat:
oder die Funktion loggen, also z.B. Statuswerte und Abarbeitungspunkte abspeichern und dann auswerten. |
AW: CreateDir legt kein Verzeichnis an
Vielleicht fehlt auch einfach ein Teil des Pfades, d.h. vielleicht ist es einfach nur ein relativer Pfad. Dann wäre es ja mehr oder weniger Zufall wo das Verzeichnis landet oder eben nicht, wenn man nicht genau weiß was man da tut.
|
AW: CreateDir legt kein Verzeichnis an
Hi zuammen!
Fehler bei 2x WinXP und 1xWin7. Ich benutze WinXP und da klappt's. Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
existiert im aktuellen Verzeichnis z.B. schon das Verzeichnis A, das nun eigentlich angelegt werden soll, so wird Verzeichnis A~1 draus, existiert das, so Verzeichnis A~2 etc. Marc |
AW: CreateDir legt kein Verzeichnis an
Zitat:
Zitat:
|
AW: CreateDir legt kein Verzeichnis an
Zitat:
Egal was du machst ... dort speichert man nichts ab. Unter Win7 und mit aktivem UAC leitet Windows diese Schreibzugriffe in den "virtual store" um, damit auch schrottig programmierte Programme noch "funktionieren". In Vista hatten sich Viele ja aufgeregt, daß Vista scheiße sei, da viele Programme nicht funktionieren, dabei war das eigentlich nur die Schuld der Programmierer dieser schlechten Programme. |
AW: CreateDir legt kein Verzeichnis an
Zitat:
Delphi-Quellcode:
geschickt. Seine Antwort:
Nummer := 0;
REPEAT ok := CreateDir(Verzeichnis); IF not ok THEN begin ShowMessage('OK'); ... end ELSE ShowMessage(SysErrorMessage(GetLastError)); UNTIL ok; Zitat:
"Dokumente und Einstellungen/Username"? Und wie komme ich daran!? Marc |
AW: CreateDir legt kein Verzeichnis an
Zitat:
|
AW: CreateDir legt kein Verzeichnis an
Ups, das NOT hab'sch doch glatt übersehn, also beide Messages austauschen.
Und es werden Verzeichnisse (mit UAC) angelgt ... nur eben umgeleitet im VirtualStore. Und das Wo findet man dort in einigen der Themen > ![]() |
AW: CreateDir legt kein Verzeichnis an
Hallo zusammen,
der Fehler ist gefunden - lag GANZ woanders! :) Trotzdem danke ... dass mit dem Benutzerverzeichnis werde ich mir mal angucken - danke! Auch wenn das Programm nur von Privatpersonen benutzt wird und die anscheinend alle als Admin eingelockt sind - aber man weiss ja nie und unter Win7 scheint es ja wohl "strenger" geworden sein ... Marc |
AW: CreateDir legt kein Verzeichnis an
Scheint?
Das ist Absicht :thumb:, weil immernoch welche unverbesserlich als Admin rumrennen, obwohl es fast nie nötig ist. Da meckern alle Windows solle sicherer werden, aber eigentlich ist es vorwiegend wegen sowas unsicher. Du rennst zwar vielleicht in Win7 als Admin rum, aber dennoch haben nicht automatisch gleich alle deine Programme volle Adminrechte. Und wo lag er nun, bzw. wie wirkte es sich auf dieses Verzeichnisproblem aus? |
AW: CreateDir legt kein Verzeichnis an
Hi!
Tja, der Fehler trat auf, wenn man einige Buttons in einer speziellen Rehenfolge gedrückt hat. Dabei wurde dann eine Liste, in der die neu angelegten Verzeichnisse vermerkt wurden, nicht geleert, so dass sie beim Beenden des Dialogs wieder entfernt wurden - also nix mit Benutzerrechten o.ä. Die Reihenfolge hatte ich übersehen, denn sonst klappte es immer - deshalb mein Verdacht. Trotzdem vielen Dank für die Hilfe. Hab ich das denn richtig gelesen, dass, um das mit den Benutzerrechten korrekt zu machen, in dem Programmverzeichnis NUR die exe-Datei, die Hilfe-Datei und die delhizip-dll verbleiben?! Alles andere dann unter "Einstellungen und Dokumente/<Username>/Anwendungsdaten\<Programm>? Also auch die ini-Datei!? Marc |
AW: CreateDir legt kein Verzeichnis an
Zitat:
|
AW: CreateDir legt kein Verzeichnis an
Anders ausgedrückt, alle Dateien in die das Programm schreiben will/muß gehören in das Benutzerverzeichnis.
ggf. wird auch das "all Users"-Verzeichnis genutzt. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 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