AGB  ·  Datenschutz  ·  Impressum  







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

Länge Dateiname/Pfade

Ein Thema von MicMic · begonnen am 30. Nov 2019 · letzter Beitrag vom 2. Dez 2019
Antwort Antwort
Seite 2 von 2     12   
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#11

AW: Länge Dateiname/Pfade

  Alt 1. Dez 2019, 22:32
Zitat:
würde ich mir vorher die Erlaubnis vom Nutzer einholen.
Zitat:
Nein, wieso?
Weil man sowas nicht macht und ungefragt Systemeinstellungen ändert.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#12

AW: Länge Dateiname/Pfade

  Alt 1. Dez 2019, 22:46
Ich meine mit "Nein, wieso?" dass ich hier nicht in der Registry herum schreibe bzw. sie ändere
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#13

AW: Länge Dateiname/Pfade

  Alt 1. Dez 2019, 22:49
Typisches Missverständnis
Um so besser
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 09:04
Also ich halte es so. So bald ich mir die Frage stellen muss, ob etwas reicht. Also ob so lange Dateipfade möglich sind oder ob 32.000 Einträge in eine Listbox passen, dann sage ich mir, dass was mit meinem Konzept nicht stimmt. Denn was will der Benutzer mit 32.000 Einträgen in einer Listbox zum Beispiel? Deswegen sind solche Fragen für mich eher von theoretischer Bedeutung, spielen für mich in der Praxis eher eine untergeordnete Rolle.
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.184 Beiträge
 
Delphi 12 Athens
 
#15

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 18:14
In MAX_PATH steht bei mir 260. Warum liest man manchmal 255/256 (0-255=256), also im Grunde ein ShortString?
256 Zeichen für den Pfad im Dateisystemtreiber,
plus die abschließende #0 und plus der Datenträger (z.B. "X:\")
3 + 256 + 1 = 260

In Windows 10 soll es nun überall keine Grenze mehr geben. (stimmt leider nicht ganz)
Also theoretisch könnte man nun das MAX_PATH vergessen, denn Windows 7 stirbt in einem Monat aus, Windows 8 nutzt niemand freiwillig und somit hätte sich quasi das Problem von selbst erledigt.

Voraussetzung: Es muß im System aktiviert sein und in jeder Anwendung muß es auch extra nochmal freigegeben sein.
https://docs.microsoft.com/en-us/win.../naming-a-file
https://mspoweruser.com/ntfs-260-character-windows-10/ (ist nun auch die der Release drin)


Es gibt einen Unterschied zwischen maximaler Pfadlänge ...
Vergiss nicht die Junctions und Translations, da kommt es drauf an, was letztendlich im Dateisystem ankommt, und nicht wie es im Explorer aussieht.
Und für einen lesenden Zugriff auf den Pfad, könnte man eventuell noch den Umweg über die kurzen 8.3-Namen gehen.
(schreibend = Datei/verzeichnis erstellen, die es vorher nicht gab)
$2B or not $2B

Geändert von himitsu ( 2. Dez 2019 um 18:22 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#16

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 18:19
Ich habe zwar eine eigene Manifestdatei als Resource und die wird auch eingebunden, aber unter Projektoptionen Manifest steht die Option auf Automatisch erzeugen.

Welche wird denn jetzt benutzt? Meine oder die von Delphi? Beide?

Geändert von DieDolly ( 2. Dez 2019 um 18:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 18:23
Die, welche zuerst gelinkt wird. (was zuerst beim Compilieren im Code gefunden wurde)

Sollte sich bei Konflikten dann auch was im Buildlog finden lassen.
http://docwiki.embarcadero.com/RADSt...5s%27_(Delphi)
http://docwiki.embarcadero.com/RADSt..._%25d_(Delphi)
bzw.
http://docwiki.embarcadero.com/RADSt...arded_(Delphi)
$2B or not $2B

Geändert von himitsu ( 2. Dez 2019 um 18:27 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#18

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 18:25
Wo kommt das denn rein?

Hier
Code:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
      <windowsSettings xmlns:ws2="https://schemas.microsoft.com/SMI/2016/WindowsSettings">
        <ws2:longPathAware>true</ws2:longPathAware>
      </windowsSettings>

      <!-- Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>

      <!-- Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>

      <!-- Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>

      <!-- Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>

      <!-- Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
    </application>
  </compatibility>
Oder hier
Code:
<asmv3:application>
  <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
    <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    <dpiAware>True</dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>
Sollte man vielleicht einfach das Standard Delphi Manifest kopieren und erweitern? Ganz ehrlich, ich habe mittlerweile keine Ahnung mehr, ob Windows mein Manifest nutzt oder das von elphi.
Laut Resource Hacker sin beide drin.
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
  <asmv3:application>
    <asmv3:windowsSettings>
      <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware>
      <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2</dpiAwareness>
    </asmv3:windowsSettings>
  </asmv3:application>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
        type="win32"
        name="Microsoft.Windows.Common-Controls"
        version="6.0.0.0"
        publicKeyToken="6595b64144ccf1df"
        language="*"
        processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="asInvoker"
          uiAccess="false"
        />
      </requestedPrivileges>
    </security>
  </trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
   <application>
      <!--The ID below indicates app support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates app support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <!--The ID below indicates app support for Windows 8 -->
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
      <!--The ID below indicates app support for Windows 8.1 -->
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <!--The ID below indicates app support for Windows 10 -->
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>         
   </application>
</compatibility>
</assembly>
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 19:11
Bitte mach einen neuen Thread auf für ein neues Problem mit dem Manifest.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#20

AW: Länge Dateiname/Pfade

  Alt 2. Dez 2019, 21:35
Zitat von himitsu:
Zitat von MicMic:
In MAX_PATH steht bei mir 260. Warum liest man manchmal 255/256 (0-255=256), also im Grunde ein ShortString?
256 Zeichen für den Pfad im Dateisystemtreiber,
plus die abschließende #0 und plus der Datenträger (z.B. "X:\")
3 + 256 + 1 = 260
Ich hatte das ja getestet. Beitrag 4 und (6 als Abschluss) in diesem Thread.
Gehen nämlich nur 255. Aber irgendwo las ich mal, dass jemand mit irgendeinem Programm ein Dateiname erstellt hat, der weit mehr als 260 Zeichen hatte. Aber das habe ich nicht weiter verfolgt.

Zitat von Luckie:
Also ich halte es so. So bald ich mir die Frage stellen muss, ob etwas reicht. Also ob so lange Dateipfade möglich sind oder ob 32.000 Einträge in eine Listbox passen, dann sage ich mir, dass was mit meinem Konzept nicht stimmt. Denn was will der Benutzer mit 32.000 Einträgen in einer Listbox zum Beispiel? Deswegen sind solche Fragen für mich eher von theoretischer Bedeutung, spielen für mich in der Praxis eher eine untergeordnete Rolle.
Das Konzept des Anwenders könnte man in Frage stellen. Mein Programm allerdings sollte funktionieren und nicht gleich einfrieren/abstürzen nur weil ich mich um manches nicht gekümmert habe. Deswegen interessiere ich mich auch für ein Verzeichnis mit hunderttausend Dateien... um es einfach mal durchzutesten, ein Funktionsabschnitt besser optimieren zu können usw. Natürlich bombardiere ich den Anwender nicht mit irgendwelchen Mega-Daten und lasse ihm 5 Minuten scrollen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09:25 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