Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Opendialog-Fehler wegen zweiter Form? (https://www.delphipraxis.net/116054-opendialog-fehler-wegen-zweiter-form.html)

Moondryl 22. Jun 2008 20:36

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...

marabu 22. Jun 2008 20:41

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:
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;
Freundliche Grüße

Moondryl 22. Jun 2008 20:49

Re: Opendialog-Fehler wegen zweiter Form?
 
Kommando zurück!...;)

Funktioniert trotzdem nicht....-.-

Christian Seehase 22. Jun 2008 21:01

Re: Opendialog-Fehler wegen zweiter Form?
 
Moin Moondryl,

noch eine andere Variante:
Du könntest auch einfach das Delphi-Referenz durchsuchenOnCanClose-Event des OpenDialogs verwenden.

Moondryl 22. Jun 2008 21:09

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?

Fussball-Robby 22. Jun 2008 21:17

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.

Moondryl 22. Jun 2008 21:32

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)???

Moondryl 22. Jun 2008 21:36

Re: Opendialog-Fehler wegen zweiter Form?
 
Ok habe verstanden worauf du hinaus wolltest...
habe es jetzt folgendermaßen gelöst:

Delphi-Quellcode:
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;
Aber trotzdem verwunderlich warum das mit den beiden FOrms ist oder???...

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

Christian Seehase 22. Jun 2008 22:16

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).

Moondryl 22. Jun 2008 22:52

Re: Opendialog-Fehler wegen zweiter Form?
 
sry hatte mich auch verschrieben mit OnClose...
^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
Seite 2 von 2     12   

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