Einzelnen Beitrag anzeigen

kdf

Registriert seit: 3. Jul 2011
118 Beiträge
 
Delphi 10 Seattle Professional
 
#1

FormActivate wird mehrfach ausgeführt

  Alt 11. Dez 2023, 20:52
Delphi-Version: 10 Seattle
Hallo,

ich habe in der Annahme, dass FormActivate nur einmal bei der Aktivierung des Formulars ausgeführt wird, in einem Formular einige Einstellungen in FormActivate vorgenommen.

Durch folgenden Code wird FormActivate wieder ausgeführt, obwohl das Formular bereits aktiv ist. Die IB_Richedit befindet sich in diesem Formular.
Das ist doch nicht richtig, oder?

In diesem Fall verhinderten die Anweisungen in FormActivate die Änderung der Schrift. Ich habe jetzt eine Variable activ:boolean eingebaut, die nach dem
ersten Durchlauf true gesetzt wird. Damit funktioniert mein Gebilde. Es wäre aber doch interessant zu wissen, warum das so ist.


Delphi-Quellcode:
procedure TFMain.Schrift1Click(Sender: TObject);
begin
if PopupMenueFonts1.PopupComponent is TIB_Richedit then
with TIB_Richedit(PopupMenueFonts1.PopupComponent) do
 begin
  FontDialog1.Font.Assign(SelAttributes);
     if FontDialog1.Execute then
      begin
        DataSource.Dataset.Edit;
        SelAttributes.Assign(FontDialog1.Font);
      end;
  end;
end;
Delphi 6 Prof., Delphi 10 Seattle Prof., IBO 4, IBO 5, Firebird 2.5, Windows 10 Prof.

Geändert von TBx (12. Dez 2023 um 04:28 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat