AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

Ein Thema von Redeemer · begonnen am 20. Okt 2019 · letzter Beitrag vom 21. Okt 2019
Antwort Antwort
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
793 Beiträge
 
Delphi 2009 Professional
 
#1

Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 20. Okt 2019, 21:56
Ich finde es immer wieder verwirrend, ob Eigenschaften bei einer programmatischen Änderung zur Laufzeit ein Ereignis auslösen. Das ist auch bei nahezu identischen Komponenten sehr unterschiedlich: Eine Zuweisung an Text löst zum Beispiel bei ComboBoxEx OnChange aus, bei ComboBox aber nicht. (ComboBoxen sind sowieso seltsam. Was ist der Unterschied zwischen OnClick und OnSelect?)
Habt ihr da irgendeinen Trick, wie ihr euch das merkt oder hat sich das echt noch niemand gewundert?
Angehängte Dateien
Dateityp: pdf Delphi programmatische Aenderungen.pdf (42,1 KB, 32x aufgerufen)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 20. Okt 2019, 23:58
Auswählen kann man auch mit den Pfeiltasten, anklicken nur mir der Maus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
8.135 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 21. Okt 2019, 06:49
Ja, das ist nicht überall konsequent, weil die Komponenten nach und nach hinzu kamen und es die Entwickler vermutlich selbst nicht wussten wie sich andere bestehende Komponenten diesbezüglich verhalten.
Ein Problem hatte ich damit bisher allerdings nicht.

Übrigens: SelectNextPage ist eine Methode und keine Property.

Auswählen kann man auch mit den Pfeiltasten, anklicken nur mir der Maus.
Trotzdem wird auch bei einer Auswahl per Tastatur bei einigen Komponenten ein OnClick ausgelöst.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.005 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 21. Okt 2019, 07:12
Hallo,
Trick = Breakpoint
Heiko
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
793 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 21. Okt 2019, 08:54
Hallo,
Trick = Breakpoint
Stimmt schon. Aber da man das ständig nachschauen würde, habe ich die angehängte Tabelle für Standard- und Win32-Controls gemacht.

Übrigens: SelectNextPage ist eine Methode und keine Property.
Stimmt, hätte ich kursiv setzen müssen.

Auswählen kann man auch mit den Pfeiltasten, anklicken nur mir der Maus.
Trotzdem wird auch bei einer Auswahl per Tastatur bei einigen Komponenten ein OnClick ausgelöst.
Das meinte ich, und bei ComboBoxen wird, wie auch im Dokument angegeben, auch mit Pfeiltasten, sowohl OnClick und OnSelect ausgelöst. Da OnClick nicht beim Klicken im ständig sichtbaren Teil (sondern nur in der Liste) ausgelöst wird, halte ich OnClick und OnSelect bei TCustomCombo für dasselbe Event.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
335 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 21. Okt 2019, 11:03
Na ja, bei anderen programmtechnischen Änderungen von Eigenschaften zur Laufzeit kann man meist voraussehen, was dann abläuft...

FormMain.Width:=100;
--> da kommt mit Sicherheit ein OnResize nach...

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.301 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Ereignisse beim programmatischen Ändern von Eigenschaften zur Laufzeit

  Alt 21. Okt 2019, 15:25
Ich habe mir da eine Reihe von Hilfsfunktionen (class helper) gebastelt, die so ähnlich wie ChangeXyz_Silent heissen, und temporär die Events unterdrücken.

Eine generelles "Silencer" Interface habe ich auch mal ausprobiert, aber das verpacken in einzelne class helper schien mir sinnvoller, da diese auch noch andere "convenience" Funktionen machen.

Geändert von Rollo62 (21. Okt 2019 um 15:28 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf