Mattias Gaertner wrote:
On Thu, 23 Feb 2012 07:07:47 +0000
Mark Morgan Lloyd <[email protected]> wrote:

Mattias Gaertner wrote:
On Wed, 22 Feb 2012 20:55:01 +0000
Mark Morgan Lloyd <[email protected]> wrote:

I've just spotted this in my code:

procedure FormCloseQuery(Sender: TObject; CanClose: boolean);
..
procedure TListForm.FormCloseQuery(Sender: TObject; CanClose: Boolean);

Those were inserted by some old version of the IDE, presumably the current version inserts the missing var.
I don't remember such a bug, but I'm not sure. Maybe it was there for a
very short time and you were just unlucky.
Only thing there is that I roughed that program out a long time before I was getting Lazarus from svn, so it might in fact be in one or more releases. Appears to be OK at 0.9.24.1, so it's fairly unlikely that anybody's still using an affected copy.

Shouldn't either the IDE or the runtimes pick up this error?
It's valid code. What do you expect?
I'd expect the trunk IDE or runtimes to realise that the second parameter isn't compatible with the current definitions.

Ah, now I see what you mean:

TCloseQueryEvent = procedure(Sender : TObject; var CanClose : boolean) of 
object;

And you have

procedure TListForm.FormCloseQuery(Sender: TObject; CanClose: Boolean);

Yes, the IDE adds the var when the event is created. I don't know when
this was implemented - a long time ago.

I suspect this code was originally roughed out in the middle of '06, I can see comments in there from August of that year.

There is currently no tool to fix the signatures.
The LFM / TReader does not check either.

You can create feature requests if you like.

I'll double-check the situation later with trunk and a trivial example and will file a report to get it into the record.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to