Einzelnen Beitrag anzeigen

freedy

Registriert seit: 16. Apr 2007
Ort: Göttingen
11 Beiträge
 
Delphi XE Professional
 
#6

AW: CodeRedirect von Protected-Methoden

  Alt 3. Apr 2012, 23:35
Gibt es nicht in XE oder XE2 eine hauseigene Lösung?

Mir ist so, als hatte ich das vor 'ner Weile hier mal gesehn.
Ich glaub da wird intern ein generisches Objekt erstellt, worüber die Umleitung geregelt wird und dann wird die RTTI auf die neue Klasse umgeleitet, bzw. der Typ wird im gewünschten Objekt ersetzt, so daß ab nun alles über die neue Klasse abläuft, oder irgendwie so.
Hallo Himitsu,

eine hauseigene Lösung kenne ich hier nicht.


SetEnabled ist ja virtual, also könnte man auch einfach die VMT ändern.
Sollen dann alle Nutzer meiner Rechteverwaltung die VCL neu erstellen? Das halte ich für nicht sinnvoll und wird bei anderen höchst wahrscheinlich auch auf Ablehnung stoßen.

TApplicationEvents.OnMessage und dort auf CM_ENABLEDCHANGED mit dem Handle deiner Komponente warten. [edit]alle[/edit]
PS: Du hast dir nicht umsonst den VCL-Quellcode gekauft ... ich an deiner Stelle würde dort öfters mal nachsehn.
An der Stelle, wo die Message ausgelöst wird, bin ich bereits zu spät. Nach meinem Konzept muss ich mir merken, ob aus dem Programmverlauf heraus das Control deaktiviert ist oder ob es durch die Rechteverwaltung deaktiviert wurde. Beides zusammen ergibt dann den Zustand von Enabled. Bei meinen Versuchen die Message abzufangen, fingen die Controls an leicht zu flackern.
Michael
  Mit Zitat antworten Zitat