![]() |
Re: Opendialog-Fehler wegen zweiter Form?
Wieder meine Fehlermeldung ausgelöst...
Wenn sich der OpenDialog öffnet, gib mal 12345 z.B. ein, dann sollte eine Meldung kommen "Datei nicht gefunden" oder so, der OpenDialog müsste noch offen sein und dann schließen per "X"... Wie gesagt bei mir kommt immernoch meine Fehlermeldung... |
Re: Opendialog-Fehler wegen zweiter Form?
Herzlich willkommen in der Delphi-PRAXiS, Moondryl.
Unabhängig von Vista, D2007 und dem CoolTrayIcon - was du mit TOpenDialog machst, scheint nicht das zu sein, was du erreichen möchtest. Wenn du die internen Meldungen des TOpenDialog unterliegenden common dialog nicht sehen willst, dann darfst du die beiden Flags ofPathMustExist und ofFileMustExist nicht setzen:
Delphi-Quellcode:
Freundliche Grüße
const
CUSTOM_MSG = '"%s" doesn''t live here anymore'; procedure TDemoForm.OpenButtonClick(Sender: TObject); begin with OpenDialog do if Execute then if FileExists(FileName) then DoProcessFile(FileName) else ShowMessage(Format(CUSTOM_MSG, [FileName])); end; |
Re: Opendialog-Fehler wegen zweiter Form?
Kommando zurück!...;)
Funktioniert trotzdem nicht....-.- |
Re: Opendialog-Fehler wegen zweiter Form?
Moin Moondryl,
noch eine andere Variante: Du könntest auch einfach das ![]() |
Re: Opendialog-Fehler wegen zweiter Form?
Also, weiß jetzt wieder, warum ich die beiden Flags gebraucht habe...
Wenn der Dialog geöffnet wird, und man einfach eine Datei eingibt, die nicht existiert (Schreibfehler z.B.) dann wird der Pfad einfach übernommen... Das soll ja auch nicht sein...;) Inwiefern kann ich denn das OnClose-Event nutzen? habs schon öfters mal in Codes gelesen, wusste aber nie so richtig damit umzugehen? Andere Möglichkeit vielleicht?: Kann ich abfangen, ob Ok oder etwas anderes im Dialog gedrückt wurde und dann noch manuell überprüfen, ob der Pfad und die Datei existiert? |
Re: Opendialog-Fehler wegen zweiter Form?
TOpenDialog.Execute gibt True zurück, wenn auf OK gedrückt wurde. Um sicher zu sein, dass die Datei existiert, kannst du im OI bei Options ofFileMustExist auf True stellen.
|
Re: Opendialog-Fehler wegen zweiter Form?
Scheint aber auch auf "X" TRUE zurückzugeben...
Um nochmal auf ein Problem am Anfang hinzuweisen: Warum funktioniert der Code denn wenn ich nur eine Form habe aber nicht wenn ich zwei habe (sofern beide visible sind)??? |
Re: Opendialog-Fehler wegen zweiter Form?
Ok habe verstanden worauf du hinaus wolltest...
habe es jetzt folgendermaßen gelöst:
Delphi-Quellcode:
Aber trotzdem verwunderlich warum das mit den beiden FOrms ist oder???...
procedure TForm2.Button1Click(Sender: TObject);
var MessageClk: Integer; begin try if Opendialog1.Execute then LabeledEdit1.Text := Opendialog1.FileName; except if Opendialog1.Execute then begin MessageClk := Application.MessageBox( 'Fehler beim Laden der Datei!' + #10#13 + 'Bitte Versuchen Sie es erneut.' + #10#13 + 'Achten Sie dabei auf den Dateityp!', 'ERROR', 0 + 48); end; end; end; Falls der Code anders geschrieben besser wäre bitte einfach nochmal antworten (war ebend nur kurz hingeschrieben, um zu schauen, ob es geklappt hat)... Aber noch einmal ein großes Danke an Alle die sich gemeldet haben...:) LG Moondryl |
Re: Opendialog-Fehler wegen zweiter Form?
Moin Moondryl,
nicht OnClose, sondern OnCanClose. Darin kannst Du abfragen, ob es eine gültige Datei ist oder nicht, und dann entscheiden, ob der Dialog geschlossen werden kann oder nicht (CanClose auf true setzen, oder eben auch nicht). |
Re: Opendialog-Fehler wegen zweiter Form?
sry hatte mich auch verschrieben mit OnClose...
^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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