AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Frage zu Actions: Controls werden Disabled ohne OnExecute
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu Actions: Controls werden Disabled ohne OnExecute

Ein Thema von Assertor · begonnen am 27. Nov 2008 · letzter Beitrag vom 27. Nov 2008
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Frage zu Actions: Controls werden Disabled ohne OnExecute

  Alt 27. Nov 2008, 14:55
Hi,

mir ist gerade aufgefallen, daß wenn ich z.B. einer CheckBox eine Action zuweise die keine Execute Methode hat, die CheckBox nach dem ersten Anklicken ausgegraut wird (also Disabled ist). Gleiches gilt natürlich auch für Buttons etc.

Dies passiert nur, wenn die Action keine OnExecute Methode hat.

Nur aus Interesse, weiß jemand den Hintergrund, warum das so ist bzw. besser gesagt, warum das so gehandhabt wird?

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 15:40
Reine Mutmaßung:

Eine Action die nichts macht sollte doch als Disabled dargestellt werden (keine Funktion -> kein Klick ).
Mir ist das aufgefallen bei dynamischer Zuweisung von OnExecute und ich fand das eigentlich immer praktisch (Wenn Funktion vorhanden in Lib dann Zeiger ansonsten OnExecute := nil).

Warum dieser Mechanismus aber erst greif wenn du das erste mal drauf klickst ist mir auch nicht klar.


Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 16:30
Und für Spezialfälle kann man DisableIfNoHandler auf False setzen.
Uli Gerhardt
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#4

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 18:31
Hi,

Zitat von ChrisE:
Mir ist das aufgefallen bei dynamischer Zuweisung von OnExecute und ich fand das eigentlich immer praktisch (Wenn Funktion vorhanden in Lib dann Zeiger ansonsten OnExecute := nil).
Ja, stimmt das ist auch eine Möglichkeit.

Zitat von uligerhardt:
Und für Spezialfälle kann man DisableIfNoHandler auf False setzen.
Gute Anregung, ich glaube, daß steht leider nicht in der OH.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 19:12
Moin Assertor,

bei D7 gibt es dieses Phänomen noch nicht.
Da ist, bei fehlender OnExecute-Methode, die Checkbox sofort beim Programmstart disabled.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 19:37
Hi Christian,

Zitat von Christian Seehase:
bei D7 gibt es dieses Phänomen noch nicht.
Da ist, bei fehlender OnExecute-Methode, die Checkbox sofort beim Programmstart disabled.
Schön mal wieder von Dir zu lesen

Das erklärt einiges. Dann ist es ein über die Zeit eingeführtes "Feature". Ohne das D7 Verhalten zu kennen wirkte das unausgegoren.

Also Danke an alle für das Klären!

Gruß
Assertor
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 21:47
Hallo Assertor,

ich habe das hier mal versucht mit Delphi 2009 nachzuvollziehen ... aber keine Chance ... das Verhalten ist wie gewohnt ... kein Execute definiert dann auch das Control disabled, und zwar sofort!

siehe Anhang ... also nix Delphi Fehler

cu

Oliver
Angehängte Dateien
Dateityp: zip actioncheckbox_147.zip (258,6 KB, 3x aufgerufen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#8

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 21:53
Hi Oliver,

Zitat von Sir Rufo:
ich habe das hier mal versucht mit Delphi 2009 nachzuvollziehen ... aber keine Chance ... das Verhalten ist wie gewohnt ... kein Execute definiert dann auch das Control disabled, und zwar sofort!

siehe Anhang ... also nix Delphi Fehler
Danke für den Test!

Ich muß jetzt auch sagen: Das Verhalten tritt nur auf, falls die Action zwar eine OnUpdate Methode hat, aber keine OnExecute Methode zugewiesen ist.

Das ist also im Ganzen wirklich kein Fehler, sondern ein spezialgelagerter Sonderfall in welchem das Verhalten der VCL verständlich und nachvollziehbar ist.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 22:12
Aha ... erwischt

Dann fehlt uns ja nur noch die Gegenprobe, ob das Verhalten unter D2007,D2006,D7,... genauso ist, oder ob das Verhalten und D2009 wirklich neu ist.

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Frage zu Actions: Controls werden Disabled ohne OnExecut

  Alt 27. Nov 2008, 23:02
Moin Assertor,

Zitat von Assertor:
Ich muß jetzt auch sagen: Das Verhalten tritt nur auf, falls die Action zwar eine OnUpdate Methode hat, aber keine OnExecute Methode zugewiesen ist.
Hättest Du das nicht eher sagen können...
Das ist bei D7 genauso...

Also alles beim Alten
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz