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

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
Seite 1 von 4  1 23     Letzte » 
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
Ort: Oberreichenbach
16.254 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

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

  Alt 4. Okt 2018, 11:16
Ist das schon jemand aufgefallen bzw. hat er sein programm (per Manifest) erweitert

Laut MSDN würde folgender Manifest-Ergänzung genügen
um die 256-Pfadlängengrenze für die eigene Anwendung verschwinden zu lassen


Code:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
        <ws2:longPathAware>true</ws2:longPathAware>
    </windowsSettings>
</application>
Hat das schon jemand gemacht und kann er Erfahrungen posten?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Der schöne Günther

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

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

  Alt 4. Okt 2018, 11: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
Ort: Oberreichenbach
16.254 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

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

  Alt 4. Okt 2018, 12: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.159 Beiträge
 
Delphi XE5 Professional
 
#4

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

  Alt 4. Okt 2018, 14: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
Ort: Oberreichenbach
16.254 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

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

  Alt 4. Okt 2018, 14: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
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

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

  Alt 4. Okt 2018, 15: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

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

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

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

  Alt 4. Okt 2018, 17: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
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

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

  Alt 4. Okt 2018, 17: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
Ort: Oberreichenbach
16.254 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

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

  Alt 4. Okt 2018, 17: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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

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

  Alt 4. Okt 2018, 19:07
Die Programme wo ich meistens die Probleme bemerke, wurden zuletzt in XE kompiliert,
aber auch als sie noch Delphi 7 waren, wurde dort schon mit den Unicode-APIs gearbeitet. (FindFirstFileW, CreateFileW, DeleteFileW usw.)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf