Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ShowModal schlägt fehl (https://www.delphipraxis.net/143324-showmodal-schlaegt-fehl.html)

Neutral General 13. Nov 2009 10:59


ShowModal schlägt fehl
 
Hi,

Also ich zweifle gerade an meinem Verstand. Habe eine MDIForm, die ein MDI Child erstellt. Dieses MDIChild erzeugt dann ein Formular und zeigt dieses Modal an. Aber ich bekomme dauernd Meldungen, dass ein sichtbares Fenster nicht modal gemacht werden kann...

Hier der Code aus meinem MDIChild:


Delphi-Quellcode:
procedure TDachser_FTP.VwwDBComboDlg1CustomDlg(Sender: TObject);
var tmp: TFTPOpenDialog;
begin
  tmp := TFTPOpenDialog(Self); // OMG ICH DEPP
  try
    tmp.ShowModal;
  finally
    tmp.Free;
  end;
end;
Beim TFTPOpenDialog wurde im OI Visible auf false gestellt. Es ist zur Laufzeit nach dem Create aber oft trotzdem true! Aber ich sehe das Formular auch nirgendwo... :gruebel:

:wall: :wall: :wall:

Gruß
Neutral General

hoika 13. Nov 2009 11:31

Re: ShowModal schlägt fehl
 
Hallo,


Delphi-Quellcode:
tmp := TFTPOpenDialog.Create(Self);
falls jemand was ähnliches hat.


Heiko

uligerhardt 13. Nov 2009 12:09

Re: ShowModal schlägt fehl
 
Zitat:

Zitat von Neutral General
Delphi-Quellcode:
procedure TDachser_FTP.VwwDBComboDlg1CustomDlg(Sender: TObject);
var tmp: TFTPOpenDialog;
begin
  tmp := TFTPOpenDialog(Self); // OMG ICH DEPP
  try
    tmp.ShowModal;
  finally
    tmp.Free;
  end;
end;

Ich schreib ja lieber
Delphi-Quellcode:
var
  tmp: TFTPOpenDialog;
begin
  tmp.Create(Self); // <==
  // ...
Kommt zur Laufzeit auch gut. :-)

Ralf Kaiser 13. Nov 2009 12:46

Re: ShowModal schlägt fehl
 
Zitat:

Zitat von uligerhardt
Ich schreib ja lieber
Delphi-Quellcode:
var
  tmp: TFTPOpenDialog;
begin
  tmp.Create(Self); // <==
  // ...
Kommt zur Laufzeit auch gut. :-)

Und ich schreibe lieber:

Delphi-Quellcode:
var
  tmp: TFTPOpenDialog;
begin
  tmp := TFTPOpenDialog.Create(Self); // <== Zuweisung!!!!
  // ...
Kommt noch besser...

sirius 13. Nov 2009 12:50

Re: ShowModal schlägt fehl
 
Zitat:

Zitat von Alfi001
Kommt noch besser...

Wieso :gruebel: Da erscheint doch nicht einmal eine Fehlermeldung :drunken:

Ralf Kaiser 13. Nov 2009 12:59

Re: ShowModal schlägt fehl
 
Zitat:

Zitat von sirius
Wieso :gruebel: Da erscheint doch nicht einmal eine Fehlermeldung :drunken:

Dann verrat mir mal, wie du einen so erzeugten Dialog wieder freigeben willst oder überhaupt darauf zugreifen willst. Du hast ja keine Variable der das Ergebnis des "Create" zugewiesen wurde...

Es erschein bei deiner Version nicht nur keine Fehlermeldung, es erscheint auch kein Dialog :wink:

sirius 13. Nov 2009 13:03

Re: ShowModal schlägt fehl
 
@Alfi:
Du hast schon gesehen, dass es bei Ulis Beitrag schon längst nicht mehr um die Lösung ging (alle hier im Thread beteiligten kennen die ja), sondern eher um: "Wie erzeuge ich mir ständig einen bekloppten Fehler, obwohl ich es besser weis?"

Ralf Kaiser 13. Nov 2009 13:07

Re: ShowModal schlägt fehl
 
Natürlich habe ich das gesehen. Allerdings ist deine Version der Dialogerzeugung auch ein ziemlich beliebter Fehler der von vielen in der Anfangszeit gemacht wird.

Wenn dein Beitrag als ironische Ergänzung gedacht war dann habe ich wohl dein Smiley falsch interpretiert...


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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