AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen
Thema durchsuchen
Ansicht
Themen-Optionen

256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

Ein Thema von Bernhard Geyer · begonnen am 4. Okt 2018 · letzter Beitrag vom 8. Nov 2018
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 10:34
Ooh, ich dachte immer mit dem Registry-Schlüssel hätte man automatisch alle Anwendungen mit diesem Verhalten beglückt, das wäre ja katastrophal. Dass man das noch mit dem Manifest zusätzlich noch freischalten muss hatte ich überlesen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 11:14
Der Registry-Key funktioniert auch.
Aber wer kann/will hier eine Systemweite Einstellung ändern. Macht man sowas wird man schnell für alle Probleme am PC/Server verantwortlich gemacht ("Sie haben doch da ...")
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#3

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 13:30
Windows hatte doch noch nie eine Beschränkung von den in der Windows.h angegeben 260 Bytes.
Bei dem Unicode-Windows war es schon im 32k, setzte allerdings voraus, dass du vor den Dateinamen \\?\ eingefügt hast.

Zitat:
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters.
Siehe dein Link:
https://docs.microsoft.com/en-us/win.../naming-a-file
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 13:33
... dass du vor den Dateinamen \\?\ eingefügt hast.
Und jetzt 1000 stellen um diesen Präfix ergänzen ... Haben wir uns bisher gespart.
Gab auch nur selten Problem mit der Pfadlänge.
Aber wenn diese jetzt relativ einfach komplett wegfällt - umso besser.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 14:17
Selbst mit diesem Pfäfix klappte es nicht immer bei über 260 (255 nur Pfad ohne Laufwerk und abschließendes #0) Zeichen, egal in welcher Combination

C:\...
\\?\C:\...
\\.\C:\...
\\.\$C\...
\\.\ManuellerFreigabename\...
\\:COMPUTERNAME:\$C\...
\\localhost\$C\...
\\localhost\ManuellerFreigabename\...

"Tricksen" konnte man aber oftmals durch Verwendung der kurzen 8.3-Namen (allerdings natürlich nicht für den letzten Namen, beim Erstellen der Datei/Verzeichnis)


\??\...


Aber ich war auch auch froh das letzte Woche schon lesen zu dürfen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Okt 2018 um 14:24 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 16:14
Welche Funktionen nutzt du denn?

In der Anleitung seht:

many vs all

Code:
The Windows API has [B]many [/B]functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".
Nutzt du ein Unicode-Delphi?
Wird wirklich die W-Variante und nicht die A-Version der Funktion aufgerufen?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 16:28
Aktuell \\FRANK-AT-WORK\$D\... womit es weniger Probleme gab, als wie mit \\?\D:\...

Ich müsste mal gucken wie lang die Pfade sind, aber ich glaub noch unter 300 Zeichen.
Seit Verwendung der normalen Freigabepfade gibt es gefühlt bei weniger Dateien ein Problem mit zu langen Pfaden.

Selbst zu lange Pfade aus SMB-Freigaben haben mit Pfaden über 255 Zeichen (exklusive Host+Freigabename) probleme, in meinem uralten Windows 7,
egal ob als gemapptes NTFS-Verzeichnis oder direkt als Freigabe, welche ja wohl auch UNC ist.



Also das neue Windows 10 hierbei aber noch nicht ausprobiert.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 4. Okt 2018, 16:51
Nutzt du ein Unicode-Delphi?
Gibts noch andere

Wir sind auf Delphi 10.2. Alles Unicode.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.038 Beiträge
 
Delphi 12 Athens
 
#9

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 8. Nov 2018, 22:39
Die einfachste Lösung wäre doch denke ich, gar nicht so lange Pfade zu benutzen...
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#10

AW: 256-Pfadlängenbeschränkung ist in Windows 10 (1607) gefallen

  Alt 8. Nov 2018, 22:59
Die einfachste Lösung wäre doch denke ich, gar nicht so lange Pfade zu benutzen...
Also wenn wir schon dabei sind, dann bitte auch 8.3-Dateinamen wieder einführen. Die aktuell möglichen Dateinamen sind deutlich zu deskriptiv.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:15 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