Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Ersatz für Max_Path (https://www.delphipraxis.net/76184-ersatz-fuer-max_path.html)

Go2EITS 31. Aug 2006 06:24


Ersatz für Max_Path
 
Guten Morgen DP!

Ich benötige für die Umsetzung eines Codes einen Ersatz für Max_Path. In der Hilfe von DP7 konnte ich nicht finden; ich denke, es ist aus einer alten Delphi Version...
Für DWord muss Types in die Uses.

Hier der Code:
Delphi-Quellcode:
function GetNetworkDriveMappings(SList:TStrings):Integer;
var
I:Char;
ThePath:string;
MaxNetPathLen:DWord;
begin
SList.Clear;
MaxNetPathLen:=MAX_PATH;
SetLength(ThePath,MAX_PATH);
for I := 'A' to 'Z' do
if WNetGetConnection(
PChar(''+I+':'),PChar(ThePath),
MaxNetPathLen)=NO_ERROR then
SList.Add(I+': '+ThePath);
Result := SList.Count;
end;
Wie kann ich den Max_path ersetzen?
Beste Grüße
Go2EITS

Ydobon 31. Aug 2006 06:40

Re: Ersatz für Max_Path
 
Hast du Windows in Uses stehen? Darin müsste irgendwo
Delphi-Quellcode:
const
  MAX_PATH = 260;
  {$EXTERNALSYM MAX_PATH}
zu finden sein.

Go2EITS 31. Aug 2006 07:02

Re: Ersatz für Max_Path
 
@Ydobon
Das wars! F1 (Delphi Hilfe) hatte nicht geholfen.
Vielen Dank! :thumb:
Beste Grüße
Go2EITS

himitsu 31. Aug 2006 14:10

Re: Ersatz für Max_Path
 
Zitat:

Zitat von Go2EITS
Das wars! F1 (Delphi Hilfe) hatte nicht geholfen.

MAX_PATH ist keine Delphi/Borland-Konstante, die kommt von MS ... such mal im MSDN-Library durchsuchenMAX_PATH danach ;)

Es ist ja ganz einfach ... es sind maximal 259 Zeichen zuzüglich der abschließenden #0 in einem Pfad erlaub, das macht rein zufällig 256 Zeichen ohne Angabe des Laufwerks.

Unter Unicode wäre zwar rein theoretisch (wird jedenfalls offiziel von MS behauptet) mehr als 260 Zeichen möglich (ich glaub so bis 2000), aber da die meißten Dateisystemtreiber wegen der Ansi-Unterstüzung auch nur auf MAX_PATH (260) begrenzt sind ist, ligt auch im Unicode die praktische Grenze bei 260.

Go2EITS 31. Aug 2006 17:20

Re: Ersatz für Max_Path
 
@himitsu
Dachte ich mir nach Ydobons Beitrag. Vielen Dank für die Zusatzinfos. Kann man immer gebrauchen!
CU! Go2EITS

Nachtrag: Mit Windows in der Uses Klausel funktioniert es natürlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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