AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CreateDir legt kein Verzeichnis an

Ein Thema von marcibaer · begonnen am 29. Okt 2011 · letzter Beitrag vom 4. Nov 2011
Antwort Antwort
Seite 1 von 2  1 2      
marcibaer

Registriert seit: 27. Sep 2006
Ort: Inden
76 Beiträge
 
Delphi XE2 Professional
 
#1

CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 17:51
Hallo zusammen,

ich habe einen Fehler, den ich mir nicht erklären kann:

Delphi-Quellcode:
      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;
Klappt bei mir hervorragend, bei 2 Nutzern, die genau so XP benutzen, wie ich, allerdings nicht!
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
Marc
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 17:53
Verwendest du Windos Wista oder Windows 7 und versuchst einen Ordner in einem Verzeichnis anzulegen, in dem du keine Schreibrechtre verfügst? (Dateisystemvirtualisierung)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#3

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 18:04
Zitat:
die genau so XP benutzen
Aber Dateirechte gab es da auch schon.
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Okt 2011 um 18:10 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 18:05
Bei XP kam aber ein Fehler bei fehlenden Rechten und ab Vista ( mit aktiver UAC) wird der Schreibzugriff umgelenkt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 18:11
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:
CreateDir MUSS also mal TRUE geliefert haben, aber es gibt KEIN
Entweder debuggen und nachsehn, was tatsächlich passiert und keine blosen VERMUTUNGEN anstellen,
oder die Funktion loggen, also z.B. Statuswerte und Abarbeitungspunkte abspeichern und dann auswerten.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (29. Okt 2011 um 18:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 18:57
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
marcibaer

Registriert seit: 27. Sep 2006
Ort: Inden
76 Beiträge
 
Delphi XE2 Professional
 
#7

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 19:11
Hi zuammen!

Fehler bei 2x WinXP und 1xWin7.
Ich benutze WinXP und da klappt's.

Zitat:
Aber Dateirechte gab es da auch schon.
Bei fehlenden Rechten sollte CreateDir es allerdings False zurückliefen.
Davon bin ich auch ausgegangen.

Zitat:
Wie heißen denn die Verzeichnisse und wo sollen sie erstellt werden?
Die Verzeichnisse werden NUR im Verzeichnis des Programms angelegt - Namensgebung ist frei.

Zitat:
PS: CreateDir gibt auch True zurück, wenn das Verzeichnis schon vorher existierte.
Das wird vorher überprüft und nur zugelassen, wenn nicht existent.

Zitat:
Bei XP kam aber ein Fehler bei fehlenden Rechten und ab Vista ( mit aktiver UAC) wird der Schreibzugriff umgelenkt.
Wo kann ich die Rechte nachgucken!?

Zitat:
Das umlenken geschieht aber nur in bestimmten Verzeichnissen.
Darum auch die Frage nach den Verzeichnisnamen.
Na, es passiert ja nur folgendes:
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
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 19:21
Fehler bei 2x WinXP und 1xWin7.
Ich benutze WinXP und da klappt's.
Und

Zitat:
Die Verzeichnisse werden NUR im Verzeichnis des Programms angelegt - Namensgebung ist frei.
Vermutung, du arbeitest an deinem Rechner als Administrator, die beiden anderen Benutzer nicht, wie man es auch machen sollte.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 19:39
Zitat:
im Verzeichnis des Programms angelegt
Wenn du damit das "Programme"-Verzeichnis meinst, dann (wie Luckie schon sagte) hat dort schon seit vielen Jahren, auch schon zu Zeiten von XP, ein normaler "Benutzer" keine Schreibrechte (zu Recht hat er das nicht, wegen Viren, Trojaner und Co.).

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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
marcibaer

Registriert seit: 27. Sep 2006
Ort: Inden
76 Beiträge
 
Delphi XE2 Professional
 
#10

AW: CreateDir legt kein Verzeichnis an

  Alt 29. Okt 2011, 21:31
Zitat:
Bei fehlenden Rechten sollte CreateDir es allerdings False zurückliefen.
Tut es aber wohl nicht ... ich habe einem User das Programm mit
Delphi-Quellcode:
  Nummer := 0;
      REPEAT
        ok := CreateDir(Verzeichnis);
        IF not ok THEN
          begin
            ShowMessage('OK');
            ...
          end
        ELSE
          ShowMessage(SysErrorMessage(GetLastError));
      UNTIL ok;
geschickt. Seine Antwort:
Zitat:
klappt leider nicht! Gibt zwar "ok" aus, legt aber kein Verzeichnis an!
Wo legt man denn sinvollerweise die Programmdaten ab?!
"Dokumente und Einstellungen/Username"?
Und wie komme ich daran!?

Marc
Marc
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 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