AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Probleme, wenn ShortPathName länger ist, als der eigentliche/lange Dateiname?
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme, wenn ShortPathName länger ist, als der eigentliche/lange Dateiname?

Ein Thema von himitsu · begonnen am 4. Jun 2024 · letzter Beitrag vom 13. Jul 2024
 
Benutzerbild von himitsu
himitsu

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

Probleme, wenn ShortPathName länger ist, als der eigentliche/lange Dateiname?

  Alt 4. Jun 2024, 15:05
Betriebssystem: Win 10
Moin Moin,

das genaue Problem kennen wir nicht nicht und sind noch am Suchen, bzw. am Nachstellen des Problems.


Wir bekommen von Outlook per Drag&Drop einen Dateianhang.
Vor Jahren hatten wir alles umbebaut, weil Outlook plötzlich Dateien als STREAM übergab, aber jetzt wieder als WM_DROPFILE mit Kopie im Temp.
Nun heißt es bei einem Rechner eines Kunden "Datei existiert nicht".

Ja klar, da fehlen am Ende zwei Buchstaben.
Scheinbar gibt MSDN-Library durchsuchenGetLongPathName den Namen abgeschnitten zurück und tut dabei den auch den ShortName nicht durch den Langen ersetzen.


Und ja, natürlich rufe ich GetLongPath nicht mit MAX_PATH auf, oder sowas, sondern zwei mal, also einmal um die Länge zu bekommen und die String-Länge zu setzen und dann nochmal, um die Daten zu bekommen.

Witzig ist jetzt aber, dass Outlook uns den ShortPathName gibt und es fiel irgendwann auf, dass weiter vorne ein ShortName zufällig zwei Zeichen länger ist, als das Original.
Und MSDN-Library durchsuchenGetLongPathName macht aus dem M1D63~1.GRA auch nicht den LongName.
Code:
C:\Users\m.grawxyz\AppData\Local\Temp\abcdefg.hij
C:\Users\M1D63~1.GRA\AppData\Local\Temp\abcdefg.h
Ein erster Test, via CMD eine Datei mit soeinem Namen zu erzeugen und sich den Kurzname geben zu lassen, hatte nicht funktioniert.
Weder in Win10, noch in Win11 wurde überhaupt ein Kurzname erzeugt. (dieses Verhalten ist ja, seit 'ner ganzen Weile, standardmäßig im Windows deaktiviert)

In Google und Co. fand ich noch nichts,
aber kennt hier vielleicht jemand auch sowas ähnliches?




Auf NTFS macht %~s1 aktuell garnichts,
aber auf Samba (NAS) zeigt es, dass der Befehl per se funktioniert.
Zitat von Share per PUSHD als Laufwerk, damit CMD funktioniert:
Z:\Neuer Ordner\m.gramxyzabcdef
Z:\N4BIQL~M\M9OYAG~B
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Jun 2024 um 15:38 Uhr)
  Mit Zitat antworten Zitat
 


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 21:07 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