![]() |
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:
Ob das jetzt elegant ist, lassen wir mal dahingestellt.
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; 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:
Oder gibt es eventuell ein Ereignis, dass für die Erledigung Deiner Aufgabe eventuell besser geeignet ist, als FormShow?
FoMain := TFoMain.Create(self);
FoMain.bFormShowAbgearbeitet := False; ... procedure TFoMain.FormShow(Sender: TObject); begin if bFormShowAbgearbeitet then Exit; bFormShowAbgearbeitet := True; ... end; |
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. |
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