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/)
-   -   Problem mit Formaufruf (https://www.delphipraxis.net/127221-problem-mit-formaufruf.html)

nahpets 9. Jan 2009 14:27

Re: Problem mit Formaufruf
 
Hallo,

klingt auch logischer.

Aber was hast Du denn eigentlich vor, was passiert in FormShow, so dass Dich die wiederholten Aufrufe stören. Könntest Du eventuell hinter dem Create einen Schalter setzten, bei dem FormShow nichts macht, wenn er gesetzt ist?
Delphi-Quellcode:
FoMain := TFoMain.Create(self);
FoMain.bNixdaFormShow := True;
FoMain.FormStyle := fsNormal;
FoMain.Visible := False;
FoMain.bNixdaFormShow := False;
FoMain.ShowModal;
...
...
...
FoMain := TFoMain.Create(self);
FoMain.bNixdaFormShow  := True;
FoMain.FormStyle := fsMDIChild;
FoMain.bNixdaFormShow  := False;
FoMain.Visible  := True;

...
procedure TFoMain.FormShow(Sender: TObject);
begin
  if bNixdaFormShow then exit;
  ...
end;
Ob das jetzt elegant ist, lassen wir mal dahingestellt.

Alternativ könntest Du aber auch, sofern ein Formular nur einmal angezeigt wird, im FormShow ein Attribut setzen, alá ist schon durchlaufen, und wenn das gesetzt ist, macht FormShow bei weiteren Aufrufen nichts mehr.
Delphi-Quellcode:
FoMain := TFoMain.Create(self);
FoMain.bFormShowAbgearbeitet := False;

...
procedure TFoMain.FormShow(Sender: TObject);
begin
  if bFormShowAbgearbeitet then Exit;
  bFormShowAbgearbeitet := True;
  ...
end;
Oder gibt es eventuell ein Ereignis, dass für die Erledigung Deiner Aufgabe eventuell besser geeignet ist, als FormShow?

Eppos 9. Jan 2009 16:26

Re: Problem mit Formaufruf
 
Das war auch mein Gedanke, dass mir warscheinlich nix anderes übrig bleibt,
als eine elegante Lösung.

Trotzdem Danke!


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