![]() |
ungewollte Folge(OpenDialog)
Hi alle zusammen,
Ich will eine Öffnen-Procedure haben, die eine Fehlermeldung beim öffnen einer nicht existierenden Datei ausgibt und dann in den OpenDialog zurückkehrt. Dass funktioniert auch soweit, DOCH wenn man im OpenDialog auf ABBRECHEN geht kommt die Fehlermeldung auch! Ich habe keine Idee, wie ich dass umgehe. Ihr vielleicht?:?:?
Delphi-Quellcode:
Danke im Vorraus!:!:!
Procedure TEditor.OEFFNEN;
BEGIN OpenDialog.DefaultExt:= 'rtf'; Repeat IF OpenDialog.Execute Then If (OpenDialog.FileName<>'') and FileExists(OpenDialog.FileName) Then begin Neu(OpenDialog.FileName); {Neu: Procedure zum erstellen von einem MDIChild} exit; end Else Exit; Until(MessageDlg('Datei existiert nicht! Andere auswählen?',mtError, [mbYes, mbNo],0)= mrNo) ; END; |
Re: ungewollte Folge(OpenDialog)
Stell doch im OI von TOpenDialog ein, dass nur dateien ausgewählt werden können, die auch existieren. Mich persönlich würde deine Lösung als Benutzer mehr als nerven.
|
Re: ungewollte Folge(OpenDialog)
Bei deiner Lösung fehlt ein begin-end-Block, deshalb bezieht sich der else-Zweig auf die falsche Bedingung.
Delphi-Quellcode:
Procedure TEditor.OEFFNEN;
BEGIN OpenDialog.DefaultExt:= 'rtf'; Repeat IF OpenDialog.Execute Then begin // ! If (OpenDialog.FileName<>'') and FileExists(OpenDialog.FileName) Then begin Neu(OpenDialog.FileName); {Neu: Procedure zum erstellen von einem MDIChild} exit; end end // ! Else Exit; Until(MessageDlg('Datei existiert nicht! Andere auswählen?',mtError, [mbYes, mbNo],0)= mrNo) ; END; |
Re: ungewollte Folge(OpenDialog)
ist das die eigenschaft "ofExNoPlacesBar"??
|
Re: ungewollte Folge(OpenDialog)
Wie Luckie schon angedeutet hat im OI einfach bei Options den Wert ofFileMustExist auf true setzen, dann zeigt Windows automatisch eine Fehlemeldung an und schliesst den Dialog erst, wenn die angebene Datei existiert, oder auf Abbrechen gedrückt wurde.
|
Re: ungewollte Folge(OpenDialog)
@ Niko: Stimmt du hast recht jetzt gehts wunderbar!
{Da hatte ich wohl Tomaten auf den Augen} @ alle: Danke an euch alle, hätte ich das mit ofFileMustExist vorher gewusst hätte ich mir das gegrübel sparen können; !!!!FRAGE BEANTWORTET!!!! |
Re: ungewollte Folge(OpenDialog)
Moin Moin,
auch wenn Du die Frage als beantwortet ansiehst: Schau Dir doch mal das OnCanClose Event des TOpenDialog an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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