hallo,<br>
<br>
wenn ich in meinem programm eine w-botschaft folgendermassen abfange:<br>
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
was passiert da eigentlich? <br>
denn genau diese methode ist in 'customform' auch genau so <br>
deklariert, also nicht mit virtual bzw. dynamic. wenn ich diese methode nun genauso deklariere wie sie<br>
im vorgänger ('tcustomform') deklariert ist, so müsste ich ja die vorgängermethode <br>
verdecken. führe ich nun meine aktionen aus, und möchte das das standardverhalten<br>
trotzdem läuft, so rufe ich am ende meiner methode mit 'inherited' eben dieses verhalten auf.<br>
soweit alles klar, hoffe ich. wenn ich aber nun die methode:<br>
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
anders benenne z. b.:
procedure WMEraseBkgnd__Test(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
so wird mit inherited dennoch das standardverhalten hergestellt, woher weiss der compiler dass<br>
ich mit inherited die methode:
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
meine????<br>
weiss er es vielleicht dadurch, dass ich die selbe windows-botschaft-abfange wie der vorfahr???<br>
mfg<br>
ake
<br>
wenn ich in meinem programm eine w-botschaft folgendermassen abfange:<br>
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
was passiert da eigentlich? <br>
denn genau diese methode ist in 'customform' auch genau so <br>
deklariert, also nicht mit virtual bzw. dynamic. wenn ich diese methode nun genauso deklariere wie sie<br>
im vorgänger ('tcustomform') deklariert ist, so müsste ich ja die vorgängermethode <br>
verdecken. führe ich nun meine aktionen aus, und möchte das das standardverhalten<br>
trotzdem läuft, so rufe ich am ende meiner methode mit 'inherited' eben dieses verhalten auf.<br>
soweit alles klar, hoffe ich. wenn ich aber nun die methode:<br>
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
anders benenne z. b.:
procedure WMEraseBkgnd__Test(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
so wird mit inherited dennoch das standardverhalten hergestellt, woher weiss der compiler dass<br>
ich mit inherited die methode:
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;<br>
meine????<br>
weiss er es vielleicht dadurch, dass ich die selbe windows-botschaft-abfange wie der vorfahr???<br>
mfg<br>
ake
Comment