Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   ForceDirectories (https://www.delphipraxis.net/201108-forcedirectories.html)

holger_barntrup 24. Jun 2019 12:10

Delphi-Version: XE7

ForceDirectories
 
Eine kurze Frage:

Sind diese beiden Zeilen in der Funktion identisch?

Delphi-Quellcode:
  if not ForceDirectories('c:/Registerinhalte') then  ForceDirectories('c:/Registerinhalte');

  if not (DirectoryExists('c:/Registerinhalte')) then ForceDirectories('c:/Registerinhalte');


Gruß
Holger

mkinzler 24. Jun 2019 12:13

AW: ForceDirectories
 
Zitat:

ForceDirectories('c:/Registerinhalte');
sollte ausreichend sein.

DieDolly 24. Jun 2019 12:14

AW: ForceDirectories
 
Nein die sind nicht identisch.

ForceDirectories gibt zurück, ob das Verzeichnis erstellt werden konnte oder nicht.
DirectoryExists legt nichts an sondern prüft nur.

Zitat:

ForceDirectories('c:/Registerinhalte');
Dazu noch eine Frage. Was ist mit Leuten, die nicht C sondern Y oder was anderes als Systempartition haben?

holger_barntrup 24. Jun 2019 12:19

AW: ForceDirectories
 
Dann macht die erste Zeile in meinen Augen aber keinen Sinn. Wenn das Verzeichnis nicht erstellt werden kann dann Verzeichnis erstellen???????

Das stammt noch von meinem verstorbenen Kollegen.

Nersgatt 24. Jun 2019 12:20

AW: ForceDirectories
 
Richtig, macht nicht wirklich sinn.

Es sollte eher so sein:
if not ForceDirectories('c:\...') then
// Benutzer informieren, dass das Verzeichnis nicht erstellt werden konnte und den Fehler behandeln.

holger_barntrup 24. Jun 2019 12:22

AW: ForceDirectories
 
Zitat:

Zitat von DieDolly (Beitrag 1435246)
Dazu noch eine Frage. Was ist mit Leuten, die nicht C sondern Y oder was anderes als Systempartition haben?

Das kommt nicht vor weil die Anwendung nur auf unseren Maschinen läuft. Ohne die Steuerung im Hintergrund startet die Anwendung gar nicht erst. 8-)

holger_barntrup 24. Jun 2019 12:24

AW: ForceDirectories
 
Zitat:

Zitat von Nersgatt (Beitrag 1435248)
Richtig, macht nicht wirklich sinn.

Es sollte eher so sein:
if not ForceDirectories('c:\...') then
// Benutzer informieren, dass das Verzeichnis nicht erstellt werden konnte und den Fehler behandeln.


Ich denk auch das ich das umbauen werde.

dummzeuch 24. Jun 2019 12:54

AW: ForceDirectories
 
Zitat:

Zitat von holger_barntrup (Beitrag 1435247)
Dann macht die erste Zeile in meinen Augen aber keinen Sinn. Wenn das Verzeichnis nicht erstellt werden kann dann Verzeichnis erstellen???????


Vielleicht hat er das damals eingefügt, um beim Debugging das ForceDirectories nochmal ausführen zu können, wenn es fehlschlägt, und zwar diesmal im Debugger.

Es gibt in meinem Code auch teilweise Stellen, die so aussehen:

Delphi-Quellcode:
try
  MachWas;
except
  asm nop end; //<- Breakpoint hier setzen
  MachWas;
end;
Normalerweise entferne ich solchen Code, bevor ich die Sourcen einchecke, aber es kann schonmal passieren, dass es mir durchgeht.

p80286 24. Jun 2019 20:52

AW: ForceDirectories
 
Zitat:

Zitat von dummzeuch (Beitrag 1435251)

Normalerweise entferne ich solchen Code, bevor ich die Sourcen einchecke, aber es kann schonmal passieren, dass es mir durchgeht.

Der Code muß aber seeehr alt sein, ich kenne das noch aus TP-Zeiten.

Gruß
K-H

holger_barntrup 25. Jun 2019 06:01

AW: ForceDirectories
 
Zitat:

Zitat von dummzeuch (Beitrag 1435251)
Zitat:

Zitat von holger_barntrup (Beitrag 1435247)
Dann macht die erste Zeile in meinen Augen aber keinen Sinn. Wenn das Verzeichnis nicht erstellt werden kann dann Verzeichnis erstellen???????


Vielleicht hat er das damals eingefügt, um beim Debugging das ForceDirectories nochmal ausführen zu können, wenn es fehlschlägt, und zwar diesmal im Debugger.

Es gibt in meinem Code auch teilweise Stellen, die so aussehen:

Delphi-Quellcode:
try
  MachWas;
except
  asm nop end; //<- Breakpoint hier setzen
  MachWas;
end;
Normalerweise entferne ich solchen Code, bevor ich die Sourcen einchecke, aber es kann schonmal passieren, dass es mir durchgeht.


Das wäre eine Erklärung dafür. :!:


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