Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Directorys erstellen (https://www.delphipraxis.net/160099-directorys-erstellen.html)

DelTurbo 27. Apr 2011 13:56

Directorys erstellen
 
Hi,
ich glaube ich brech gleich ab. Ich nutze (als beispiel) folgenden code um mehr als eine Directory anzulegen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    ForceDirectories('E:\test\1\2\3');
end;
Was ich auch mache, ich bekomme immer die folgende fehlermeldung.

Code:
---------------------------
Project1
---------------------------
Fehler bei Bereichsprüfung.
---------------------------
OK  
---------------------------
Es wird keine dir angelegt. Was mach ich falsch???

Vielen dank im voraus.

DelTurbo 27. Apr 2011 14:02

AW: Directorys erstellen
 
Hat sich erledigt. Es lag an der SysUtils. Die war wohl für unix. :(

Trotzdem danke....

DeddyH 27. Apr 2011 14:03

AW: Directorys erstellen
 
Bist Du sicher, dass der Fehler mit ForceDirectories zusammenhängt?

DelTurbo 27. Apr 2011 14:15

AW: Directorys erstellen
 
Jap, schau oben. Es wird ja nix anderes gemacht. Button klicken und dann kommt das was oben steht. Ich hatte wohl mal was an der Sysutils geändert und vergessen den Devinition MSWINDOWS reinzumachen. Ich glaub ich werd alt :roll:

alfold 27. Apr 2011 14:15

AW: Directorys erstellen
 
Trotzdem sollte man prüfen ob die Verzeichnisse angelegt wurden:wink:

Delphi-Quellcode:
if not ForceDirectories(Dir) then
  //konnten nicht ertellt werden, warum auch immer
Gruss alfold

DelTurbo 27. Apr 2011 14:27

AW: Directorys erstellen
 
Das kommt auch rein. Ich hatte nur das beispiel so einfach wie möglich gehalten. Das prob war/ist, man findet nix über diesen fehler bei google. Deswegen war ich etwas verwirrt.

Und die einzige "anlaufstelle" die ich in solchen fällen habe ist halt dieses Forum hier. Das hat den grund, das man nicht immer gleich als blöde abgestempelt wird und gesagt bekommt "nutz die Boardsuche" oder änhlich.

Win32.API 27. Apr 2011 18:59

AW: Directorys erstellen
 
Zitat:

Zitat von DelTurbo (Beitrag 1097208)
Hat sich erledigt. Es lag an der SysUtils. Die war wohl für unix. :(

Seit wann kann man mit D7 für Unix entwickeln?

alfold 27. Apr 2011 19:12

AW: Directorys erstellen
 
Zitat:

Zitat von Win32.API (Beitrag 1097248)
Zitat:

Zitat von DelTurbo (Beitrag 1097208)
Hat sich erledigt. Es lag an der SysUtils. Die war wohl für unix. :(

Seit wann kann man mit D7 für Unix entwickeln?

Würde mal sagen, seit dem es sie gibt :wink:
Wie es mit der Pro und darunter aussieht kann ich allerdings nicht sagen.

Gruss alfold

DelTurbo 28. Apr 2011 13:42

AW: Directorys erstellen
 
Hier mal der Code abschnitt.

Delphi-Quellcode:
function ForceDirectories(Dir: string): Boolean;
var
  E: EInOutError;
begin
  Result := True;
  if Dir = '' then
  begin
    E := EInOutError.CreateRes(@SCannotCreateDir);
    E.ErrorCode := 3;
    raise E;
  end;
  Dir := ExcludeTrailingPathDelimiter(Dir);
{$IFDEF MSWINDOWS}
  if (Length(Dir) < 3) or DirectoryExists(Dir)
    or (ExtractFilePath(Dir) = Dir) then Exit; // avoid 'xyz:\' problem.
{$ENDIF}
{$IFDEF LINUX}
  if (Dir = '') or DirectoryExists(Dir) then Exit;
{$ENDIF}
  Result := ForceDirectories(ExtractFilePath(Dir)) and CreateDir(Dir);
end;

himitsu 28. Apr 2011 14:18

AW: Directorys erstellen
 
Dennoch hat das Linuxzeug eigentlich keine Auswirkung.

In Delphi 7 ist sind das nur die Codeabschnitte für Kylix 3, da zu großen Teilen die selben Quellcodes genutzt wurden.
Seit einer Weile (so ab 2006 und 2009) gibt es in Delphi wieder vermehrt solche Codes anzutreffen, für Mac, Linux und Co., welches für den neuen Cross-Compiler (angeblich ab XE2) eingeügt wurde/wird.


Standardmäßig sollte ein Ändern der VCL-Quellcodes auch keine Auswirkung auf die zu kompilierenden Programme haben, da diese Quellcodes nur für den CodeEditor und den Debugger, aber nicht für den Compiler sichtbar sind.
uch werden standardmäßig keine VCL-Quellcodes neu kompiliert, selbst wenn man daran etwas ändert. (diese Änderung bringen höchstend den User durcheinander, da der Debugger dann schnell mal Mist anzeigt).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:41 Uhr.
Seite 1 von 2  1 2      

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