![]() |
Überprüfen ob ein Ergeigniss existiert?
Hallo. Wie kann ich überprüfen ob eine Ereignisbehandlungsroutine existiert?
z.B. Button1.OnClick? Wenn es keine gibt will ich eine zuweisen...wie geht die Überprüfung? |
Re: Überprüfen ob ein Ergeigniss existiert?
Wenn keine Routine existiert, hat die Propertzy den Wert NIL.
|
Re: Überprüfen ob ein Ergeigniss existiert?
Hallo,
falls keine Ereignisbehandlungsroutine existiert, dann müsste die Abfrage
Delphi-Quellcode:
sein.
Assigned(Button1.OnClick) = False
Gruß Dale |
Re: Überprüfen ob ein Ergeigniss existiert?
Delphi-Quellcode:
[Fehler] hauptfenster.pas(375): Undefinierter Bezeichner: 'OnDrawColumnCel'
var I : Integer;
begin With Formular do begin for i:= 0 to ComponentCount-1 do begin IF (Components[i] is TDBGrid) Then begin //TDBGrid(Components[i]).Font.Size := 15; IF not Assigned(TDBGrid(Components[i]).OnDrawColumnCel) Then TDBGrid(Components[i]).OnDrawColumnCell := DbGrib_DrawColumnCell_Einstellung; end; Warum? |
Re: Überprüfen ob ein Ergeigniss existiert?
Schau mal in Zeile 10, dort hast du nen Tippfehler
|
Re: Überprüfen ob ein Ergeigniss existiert?
Cell mit ll
|
Re: Überprüfen ob ein Ergeigniss existiert?
:duck:
oh oh... Eine weitere Frage... Wenn ich schon bei ONCLICK was eingegeben haben kann ich das per code erweitern.
Delphi-Quellcode:
var I : Integer;
begin With Formular do begin for i:= 0 to ComponentCount-1 do begin IF (Components[i] is TDBGrid) Then begin //TDBGrid(Components[i]).Font.Size := 15; IF not Assigned(TDBGrid(Components[i]).OnDrawColumnCell) Then TDBGrid(Components[i]).OnDrawColumnCell := DbGrib_DrawColumnCell_Einstellung //elseOnDrawColumnCell + DbGrib_DrawColumnCell_Einstellung geht das? end; |
Re: Überprüfen ob ein Ergeigniss existiert?
Nein eine (Ereignis-)Property zeigt auf eine Methode ( sie ist eien Referenz)
|
Re: Überprüfen ob ein Ergeigniss existiert?
Du kannst aber in Deiner Routine
Delphi-Quellcode:
aufrufen
DBGrid1.DefaultDrawColumnCell(Rect,Datacol,Column,State);
|
Re: Überprüfen ob ein Ergeigniss existiert?
und was bringt mir das?
|
Re: Überprüfen ob ein Ergeigniss existiert?
ok, hab ich falsch verstanden.
Ich dachte, Du wolltest die Standardzeichenroutine des DBGrids erweitern. Du willst aber eine bereits zugewiesene Zeichenroutine um eine andere erweitern. Da müsstes Du in DrawColumnCell auf einen eigenen Handler zugreifen, der Deine verschiedenen Zeichenroutinen verwaltet und die jeweils aktiven aufruft. Oder? :?: |
Re: Überprüfen ob ein Ergeigniss existiert?
Zitat:
Ich möchte das so realisieren...wenn DBGrid einen Ereignis hat, dann soll der erweitert werden. DrawColumnCell begin //irgendwas end; und dann soll das erweitert werten DrawColumnCell := neuesEreignis: Ergebniss: DrawColumnCell begin //irgendwas UND neuesEreignis end; |
Re: Überprüfen ob ein Ergeigniss existiert?
dann müsste ja so etwas gehen:
Delphi-Quellcode:
Mal so aus der hohlen Hand.
TMyHandler
OnDrawCells : Liste procedure AddDrawPoc procedure RemoveDrawProc procedure SetEnabled(ProcSoundso, Value) procedure Draw() end; .. procedure TMyHandler.draw begin for alle Proc in OnDrawCells do if proc.active then proc end; DBGrid.OnDrawCell... begin Handler.Draw(); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz