Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Jasocul,
26. Sep 2019
Deine Prüfung auf Change = ctState verhindert, dass der Eintrag selektiert werden kann.
Bei Änderung auf Selected, wird auch ctState gesetzt.
Wenn diese Prüfung rausnimmst, sollte es funktionieren.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Jasocul,
25. Sep 2019
Ohne das zu testen, behaupte ich einfach mal:
Das Event triggert durch die überflüssige Zeile immer wieder, bis zum Stack-Overflow.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Jasocul,
25. Sep 2019
Wenn du die Zeile, in der es knallt, weglässt, sollte es schon funktionieren.
Du setzt AllowChange ja auch auf false. Das bewirkt schon, dass die CheckBox nicht verändert wird.
Und natürlich wird das Event zig mal ausgelöst, weil du die CheckBox innerhalb der Methode änderst. Das löst das Event jedes mal wieder aus. Das dürfte auch der Grund für deine Schutzverletzung sein.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Jasocul,
24. Sep 2019
Ich habe das gerade mal getestet.
ctState scheint auch gesetzt zu werden, wenn das Item selektiert wird. Das hat also nicht zwingend etwas mit der CheckBox zu tun.
Ich denke, das OnChanging ist für deinen Fall die richtige Wahl, aber die Bedingung muss verfeinert/geändert werden. Wenn du an den Items Daten (Data) hinterlegt hast, solltest du das zum Prüfen verwenden. Die Caption wäre auch...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Jasocul,
24. Sep 2019
Ich habe kein Delphi 5, aber im OnChanging kann man doch AllowChange in dem Fall auf False setzen. Oder gibt es den Parameter nicht in Delphi 5?
Ansonsten wäre es interessant zu wissen, warum du es nicht nutzen kannst.