I am trying to make a test program in Lazarus to evaluate if I can port a dongle component in Delphi to a normal class in Lazarus. So far I had no real problems but now I don't understand what I am doing wrong. Relevant code below:
TSentinel = class private FTimer: TTimer; ... procedure OnCheckTimer(Sender: TObject); ... public { Public declarations } constructor Create; ... end; constructor TSentinel.Create; begin FTimer := TTimer.Create(Application); FTimer.Enabled := false; FTimer.Interval := 0; FTimer.OnTimer := OnCheckTimer(Self); //<= Error here ... end; The timer is used to automatically check the presence of the dongle so I have to assign the OnTimer procedure to the newly created TTimer object. This works fine in Delphi... On compilation I get an error message as follows. In the Delphi code there was no argument on the assignment of the OnTimer event procedure, in Lazarus it shows this error: sentinel.pas(647,21) Error: Wrong number of parameters specified for call to "OnCheckTimer" Using argument Self or NIL (like I often do in Delphi): sentinel.pas(647,39) Error: Incompatible type for arg no. 1: Got "untyped", expected "<procedure variable type of procedure(TObject) of object;Register>" Why is this difference Delphi/FPC appearing and what can I do? -- Bo Berglund Developer in Sweden -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus