[Lazarus] Weird object variables access [SOLVED] - Delphi mode bug!
pascaldragon at googlemail.com
Tue Oct 24 21:37:53 CEST 2017
On 24.10.2017 19:00, Giuliano Colla via Lazarus wrote:
> Il 24/10/2017 17:04, Sven Barth via Lazarus ha scritto:
>> @NextProc := Coda.Remove;
>> Sending := True;
>> with NextProc defined as a procedure of object does compile but
>> it's wrong.
>> Why are you using an @ when you assign the NextProc variable? O.o
> Because it's required by Delphi syntax. An unqualified procedural type
> means a call to the procedure.
> Without the @ it would rise an "invalid left hand assignment" error.
You're completely defeating the type system here and at least in Delphi
XE the value of Self is Nil if I do it like you did above. If it indeed
worked in older versions then it probably worked completely by accident.
More information about the Lazarus