[fpc-devel] Re: [fpc-l] type discussion

Marc Weustink marc.weustink at cuperus.nl
Thu Jun 2 14:39:40 CEST 2005


From: fpc-devel-bounces at lists.freepascal.org
[mailto:fpc-devel-bounces at lists.freepascal.org]On Behalf Of listmember

>Maybe a few things should be borrowed from RemObjects Chrome, such as
>
>-- Class Contracts
>http://www.remobjects.com/page.asp?id={DFA00D71-D5A4-40A3-9FD0-251899EB30
D8}
>
>I like the 'require/ensure' aproach.
>
>It makes the code more robust and more debuggable, IMHO

I think the checks you can do there are to limited. I also wonder what
will happen if a require isn't met. Personally I don't want exeption in my
released app.

>-- Generics
>http://www.remobjects.com/articles/?id={A1D08EE3-0D9E-4828-AFB3-B2C1E7721
86E}
>
>I am not sure if Generics could be done in FPC.

There were some discussions about it here and AFAIK some are trying to
implement.

>-- Virtual Properties and Events
>http://www.remobjects.com/page.asp?id={10E153AD-E05F-48CE-9CED-BCED5C9CDE
99}

The examples given there are not very different of what is possible now.
Make SetWith virtual and you have almost the same.

What however would be nice is if you could override the getter or setter.
Something like
property Width write MySetWidth

>-- Enhanced Multicast Events
>http://www.remobjects.com/page.asp?id={CC9C4828-9E49-4C41-AFD9-0BFFA4E9C3
D3}

This is not really new. You can implement it yourself like

property OnChange: TNotifyList;

and then OnChange.Add(Notifyproc) or OnChange.Remove(Notifyproc)


>Inline variable initializers, such as:

[snip]

>var
>   Integer1: Integer = 15;
>   Boolean1: Boolean = False;
>   String1: String = 'SOME TEXT';

Hmm.. sometimes usefull. You can put it as first lines in your
constructor/codeblock, but keep it thogheter in say large classes can be
handy.


Marc





More information about the fpc-devel mailing list