AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei Abbruch des Savedialogs

Ein Thema von WHaase · begonnen am 13. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
WHaase

Registriert seit: 13. Sep 2007
Ort: Hildrizhausen
3 Beiträge
 
#1

Fehler bei Abbruch des Savedialogs

  Alt 13. Sep 2007, 20:49
Hallo Leute,

bei mir stellt sich ein Problem ein, wenn ich versuche Daten mit dem unten angegebenen Savedialog zu speichern.

Das Problem tritt auf, wenn ich den Savedialog während der Ausführung abbreche. Dann erhalte ich eine Fehlermeldung. Offensichtlich ist der Abbruch nicht vorgesehen und in meinem Code nicht abgefangen.

Weiss da jemand Abhilfe?

Mein Code:
with SaveDialog1 do begin
FileName:=SaveDialog1.FileName ;
Filter:= 'Text-File (*.txt)|*.txt';
DefaultExt:= '*.txt';
If Execute then begin
assignfile(f,Filename);
rewrite(f);
end;
end; // End with SaveDialog1 do begin
WH
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: Fehler bei Abbruch des Savedialogs

  Alt 13. Sep 2007, 20:57
Hallo,

1. setze Deinen Delphi Code bitte in entsprechende Tags, wegen der Lesbarkeit.
2. Wenn Du Fehler abfangen möchtest, machst Du das bspw. so:
Delphi-Quellcode:
If Execute then begin
 try
  assignfile(f,Filename);
  rewrite(f);
 except
  //hier der Code, der bei einem Fehler ausgeführt werden soll
 end;
end;
Edit: zur Erläuterung
Sollte in dem Bereich zwischen 'try' und 'except' ein Fehler auftreten, wird der Code ausgeführt, der zwischen 'except' und 'end' steht.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Fehler bei Abbruch des Savedialogs

  Alt 13. Sep 2007, 21:24
Brrr. Dein Reihenfolge ist vollkommen falsch:
Wie soll SaveDialog1.FileName einen gültigen Wert haben wenn der Dialog noch nicht ausgeführt (Executed) wurde?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#4

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 06:10
Die Zeile

Delphi-Quellcode:
with SaveDialog1 do begin
  FileName:=SaveDialog1.FileName;
ist ja ziemlich sinnlos, oder? Du weißt einer Variablen sich selbst zu, also X=X.

Man könnte FileName schon vor dem Execute etwas zuweisen, um z.B. einen Vorgabenamen für den Savedialog einzustellen.

Ansonsten ist der Abbruch natürlich vorgesehen, die Function Execute hat dann den Wert False und deine if-Bedingung ist nicht erfüllt.

Wie lautet denn übrigens der Fehler?
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#5

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:17
Zitat von Bernhard Geyer:
Wie soll SaveDialog1.FileName einen gültigen Wert haben wenn der Dialog noch nicht ausgeführt (Executed) wurde?
Indem der Filename-Property zum testen im Objektinspektor ein Wert zugewiesen worden ist.
Vielleicht schwachsinnig - aber immerhin eine Antwort auf die Frage.

Edit: sorry, habe guidoks Beitrag übersehen - der hat es ja bereits gesagt...

Wieso kann man eigentlich eigene Beiträge nicht löschen? Dann würde man sich manchmal solche Peinlichkeiten wie jetzt ersparen können
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#6

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:20
Delphi-Quellcode:
with SaveDialog1 do
  begin
    Filter:= 'Text-File (*.txt)|*.txt';
    DefaultExt:= '*.txt';
    if not Execute then
      Exit;
    {...}
  end;
So kann man's auch machen. Da muss man keinen ganzen Block machen, nur weil 'ne Bedingung erfüllt wurde.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:24
Zitat von Nuclear-Ping:
Delphi-Quellcode:
with SaveDialog1 do
  begin
    Filter:= 'Text-File (*.txt)|*.txt';
    DefaultExt:= '*.txt';
    if not Execute then
      Exit;
    {...}
  end;
So kann man's auch machen. Da muss man keinen ganzen Block machen, nur weil 'ne Bedingung erfüllt wurde.
Naja, ob ich nun
Delphi-Quellcode:
with SaveDialog1 do
  begin
    Filter:= 'Text-File (*.txt)|*.txt';
    DefaultExt:= '*.txt';
    if not Execute then
      Exit;
    {...}
  end;
oder
Delphi-Quellcode:
with SaveDialog1 do
  begin
    Filter:= 'Text-File (*.txt)|*.txt';
    DefaultExt:= '*.txt';
    if Execute then
    {...}
  end;
schreibe, spielt nun wirklich keine Geige - da spare ich bei letzterem Beispiel sogar noch das 'not' und das 'exit;' (sofern nur eine Anweisung folgt ein Reingewinn von acht Zeichen)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:29
Zitat von s-off:
Zitat von Bernhard Geyer:
Wie soll SaveDialog1.FileName einen gültigen Wert haben wenn der Dialog noch nicht ausgeführt (Executed) wurde?
Indem der Filename-Property zum testen im Objektinspektor ein Wert zugewiesen worden ist.
Ist ja offensichtlich am obigen Codebeispiel das du sowas gemacht hast
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#9

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:36
Zitat von Bernhard Geyer:
Ist ja offensichtlich am obigen Codebeispiel das du sowas gemacht hast
Oben stehen mehr als ein Codebeispiel - welches meinst Du, und was möchtest Du mir jetzt sagen?

Das erste Codebeispiel zeigt die Verwendung eines try-except-Blocks. Da wird in keiner Zeile der Savedialog erwähnt.
Das zweite Codebeispiel ist von Nuclear-Ping übernommen.

Desweiteren habe ich lediglich Deine Frage beantwortet, wie es möglich ist, dass ein Savedialog eine gültige FileName-Eigenschaft haben kann, bevor er überhaupt ausgeführt worden ist - nicht mehr und nicht weniger.

Sei bitte so fair, und lass das jetzt nicht so im Raum stehen, wie das manche Leute hier gerne mal tun, wenn sie ein Problem mit jemandem (oder dessen Aussagen) haben.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Fehler bei Abbruch des Savedialogs

  Alt 14. Sep 2007, 07:42
Zitat von s-off:
Sei bitte so fair, und lass das jetzt nicht so im Raum stehen, wie das manche Leute hier gerne mal tun, wenn sie ein Problem mit jemandem (oder dessen Aussagen) haben.
Sorry, ich dachte der Beitrag war vom Thread-Ersteller. Das es von dir ein Quereinwurf war habe ich nicht erkannt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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