[Lazarus] Class operators

Martin lazarus at mfriebe.de
Tue May 24 01:35:19 CEST 2011


On 24/05/2011 00:17, Jose Luis wrote:
> On Tue, 2011-05-24 at 00:30 +0200, Mattias Gaertner wrote:
>> On Mon, 23 May 2011 18:06:31 -0400
>> Jose Luis<jlvolta at fibertel.com.py>  wrote:
>>
>>> Hi all:
>>>
>>> I've tried to cast the argument 'Sender' from a call to an event
>>> procedure, but it didn't work. The event is triggered by a TSpeedButton
>>> push, and the code of the action call contain the sentence:
>>>
>>> -- if Sender is TSpeedButton then
>>> --      buttn:=TSpeedButton(Sender);
>>>
>>> The code compile without raising error or warning, but at run-time
>>> Sender is not of TSpeedButton's type, like it is in Delphi.
>>
....
> procedure TAyDForm.ButtnBHExecute(Sender: TObject);
> var buttn:TSpeedButton;
>      indBtn: integer;
>      CanChange: boolean;
> begin
>    if (Sender is TSpeedButton) then

Set a breakpoint, and when the execution stops at it evaluate (ctrl-f7 
or watch window) the following
(^^PChar(Sender)^+3)^+1

It should give you the real classname





More information about the Lazarus mailing list