Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile? (https://www.delphipraxis.net/35441-verzeichnisse-dateiname-255-zeichen-mit-openfile.html)

hitzi 7. Dez 2004 11:10


Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile?
 
Hallo,

gibt es eigentlich einen Weg die Einschränkung von 255 Zeichen für Dateinamene + Verzeichnisse zu umgehen?

MeinProblem ist, dass ich die Datei erstellen kann (ich speichere eine Stringlist mit Savetofile), aber dann nicht mehr mit OpenFile auf eben diese Datei zugreifen kann (liefert immer HFILE_ERROR zurück).

Ich nutze das Openfile in einer Function, welche mir das letzte Änderungsdatum einer Datei zurückliefert.

Delphi-Quellcode:
function GetFileModifyDate(FileName: string): Integer;
var
  h: THandle;
  Struct: TOFSTRUCT;
begin
  Result := 0;
  h := OpenFile(PChar(FileName), Struct, OF_SHARE_DENY_NONE);
  try
    if h <> HFILE_ERROR then
    begin
      result := FileGetDate(h);
    end;
  finally
    CloseHandle(h);
  end;
end;
Also gibt es einen Weg Pfade mit mehr als 255 zeichen zu nutzen (TStringlist.SaveToFile kann's ja auch) oder gibt es eine andere Möglichleit das Änderungsdatum einer Datei zu ermitteln?

Gruss

Sharky 7. Dez 2004 11:29

Re: Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile?
 
Hai hitzi,

als "Erklärung" kannst Du ja mal in diesen Thread gucken.

hitzi 7. Dez 2004 11:37

Re: Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile?
 
Es ist mir schon klar das es Einschränkungen im OS gibt, aber wieso kann ich die Datei überhaupt erst erzeugen, wenn ich sie später nicht per Openfile öffnen kann. Interessanterweise kann ich die Datei mit volle Pfadangabe wieder in eine Stringlist laden.

Mir scheint als hat nur Openfile ein Problem mit diesem Dateinamen.

Hier ist mal der Dateiname:
Zitat:

C:\Dokumente und Einstellungen\hitziger\Eigene Dateien\Borland Studio Projects\Test Programm\Binary\profiles\Mein Profil\contacts\contacts.dat
Lasse ich das ganze unter folgenden Pfad laufen:
Zitat:

C:\Binary\profiles\Mein Profil\contacts\contacts.dat
funktioniert alles so wie's soll - auch das Openfile.

Sprint 7. Dez 2004 11:55

Re: Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile?
 
Zitat:

Zitat von hitzi
MeinProblem ist, dass ich die Datei erstellen kann (ich speichere eine Stringlist mit Savetofile), aber dann nicht mehr mit OpenFile auf eben diese Datei zugreifen kann (liefert immer HFILE_ERROR zurück).

Zitat:

Zitat von Microsoft Platform SDK
OpenFile

Note This function is provided only for compatibility with 16-bit versions of Windows. New applications should use the CreateFile function.

Da darf man sich auch nicht wundern, wenn das eigene Programm nicht anständig läuft. :wink:

hitzi 7. Dez 2004 12:09

Re: Verzeichnisse + Dateiname > 255 Zeichen mit OpenFile?
 
Whoooops ... danke für den Hinweis.

Gruss


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