Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Filestream Datei nicht gefunden bei FOpenWrite (https://www.delphipraxis.net/192194-filestream-datei-nicht-gefunden-bei-fopenwrite.html)

Zacherl 28. Mär 2017 15:18

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Bei so tiefer Verschachtelung bietet sich übrigens wieder die Methode mit
Delphi-Quellcode:
try
..
Delphi-Quellcode:
finally
Block an, über die wir schonmal in einem anderen Thread geredet hatten. Also Statt:
Delphi-Quellcode:
if (X) then
begin
  if (Y) then
  begin
    if (Z) then
    begin
      ..
      Free(Z);
    end;
    Free(Y);
  end;
  Free(X);
end;
einfach
Delphi-Quellcode:
try
  if (not X) then Exit;
  if (not Y) then Exit;
  if (not Z) then Exit;
  ..
finally
  if (X) then Free(X);
  if (Y) then Free(Y);
  if (Z) then Free(Z);
end;
Vorher natürlich Luckies Tipp befolgen und möglichst viel in logisch sinnvolle Funktionen/Methoden auslagern.

EWeiss 28. Mär 2017 15:19

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Zitat:

Zitat von Luckie (Beitrag 1365808)
Nur, wie sieht es mit der Wiederverwertbarkeit aus? Oder du baust die Oberfläche um? Dann musst du alles auseinander zupfeln und wieder neu zusammenflicken. Und wie gesagt, die Länge und die ein Dutzend lokalen Variablen sind das Schlimme. In Funktionen zerlegen (besser Klasse) und in eine separate Unit (Datei) packen.

Da ist nicht viel umzubauen.
Ist ja nur ein kleines Dialog Window.

gruss

EWeiss 28. Mär 2017 15:20

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Zitat:

Zitat von Zacherl (Beitrag 1365809)
Bei so tiefer Verschachtelung bietet sich übrigens wieder die Methode mit
Delphi-Quellcode:
try
..
Delphi-Quellcode:
finally
Block an, über die wir schonmal in einem anderen Thread geredet hatten. Also Statt:
Delphi-Quellcode:
if (X) then
begin
  if (Y) then
  begin
    if (Z) then
    begin
      ..
      Free(Z);
    end;
    Free(Y);
  end;
  Free(X);
end;
einfach
Delphi-Quellcode:
try
  if (not X) then Exit;
  if (not Y) then Exit;
  if (not Z) then Exit;
  ..
finally
  if (X) then Free(X);
  if (Y) then Free(Y);
  if (Z) then Free(Z);
end;
Vorher natürlich Luckies Tipp befolgen und möglichst viel in logisch sinnvolle Funktionen/Methoden auslagern.

Auf jeden fall. Ich werde eure Ratschläge beherzigen.
Aber wie gesagt heute morgen war ich erst mal froh das alles funktioniert hat.

gruss

Luckie 28. Mär 2017 15:25

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Zitat:

Zitat von EWeiss (Beitrag 1365810)
Da ist nicht viel umzubauen.
Ist ja nur ein kleines Dialog Window.

Ich denke schon etwas weiter in die Zukunft. Vielleicht brauchst du den Code bei einem anderen Projekt oder willst ihn wem anders zur Verfügung stellen?

EWeiss 28. Mär 2017 15:39

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Zitat:

Zitat von Luckie (Beitrag 1365812)
Zitat:

Zitat von EWeiss (Beitrag 1365810)
Da ist nicht viel umzubauen.
Ist ja nur ein kleines Dialog Window.

Ich denke schon etwas weiter in die Zukunft. Vielleicht brauchst du den Code bei einem anderen Projekt oder willst ihn wem anders zur Verfügung stellen?

Ja logisch hier dafür mache ich doch das ganze.. Hobby

gruss

Hobbycoder 28. Mär 2017 20:57

AW: Filestream Datei nicht gefunden bei FOpenWrite
 
Meine Erfahrung mit Umfangreicheren Aufgaben, sind dass ich da den umgekehrten Weg gehe.
Früher habe ich auch erstmal alles der Nase nach runtergeschrieben, und danach in sinnvolle Funktionen und Klassen umgebaut.
Heute mache ich mir schon vorher Gedanken über den Ablauf und mache mir gleich die passenden Funktionen und lege mir vereinfachende Klassen an. Das hat sich bewährt, weil man sich einfach weniger verzettelt, und viele Probleme von Anfang an vermeidet.
Darüber hinaus schreibt man dann den Code oft nur einmal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 Uhr.
Seite 3 von 3     123   

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