Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: DragDrop mit Netzwerk-Path > 260 ?

  Alt 24. Feb 2021, 17:26
Erstmal MAX_PATH mit 260 bedeuted eigentlich "Pfad" maximal 256 (1 Byte Längenangabe) zuzüglich dem Laufwerk ("C:\" also 3) und inkl. einer #0.

Lokal beim "\\?\server\freigabe" die 256 plus diese Länge,
aber wenn die Freigabe aufdem Server in einem Unterverzeichnis, dann womöglich auch noch abzüglich diesem Teil vom Zielpfad.

Bei UNC-Pfaden ist "oftmals" dieses Limmit schon deaktivert/umgangen

und seit 'ner kurzen Weile kann man für viele APIs dieses MAX_PATH-Limit komplett deaktivieren, ABER
* dies Funktion muß einmal im Windows
* und auch nochmal im Programm
aktiviert werden.
https://docs.microsoft.com/en-us/win...ath-limitation


ABER wenn jemand mit festen Speichergrößen arbeitet, dann hilft da absolut nichts ... wenn nicht mehr rein passt, dann passt nicht mehr rein.
Delphi-Quellcode:
type
  _WIN32_FIND_DATAW = record // TWin32FindDataW
    ..
    cFileName: array[0..MAX_PATH - 1] of WideChar;
  end;

var
  FDO : TWin32FindDataW;
Du brauchst also eine Lösung ohne TWin32FindData.
Ich würde etwas mit MSDN-Library durchsuchenIDropSource empfehlen.

Wir/Ich hatte keine Lust alles selbst zu machen, drum verwenden wir aktuell die Drag&Drop-Componenten von Melander.
Oder schau mal hier https://edn.embarcadero.com/article/26545
$2B or not $2B

Geändert von himitsu (24. Feb 2021 um 17:38 Uhr)
  Mit Zitat antworten Zitat