-- Class Contracts
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.

No, these are assertions not as exceptions.

-- Generics
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.

Any links?

-- Virtual Properties and Events
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

I think you missed a few things here.

type
  TMyClass = class
    ...
    property Width: integer read write; virtual; abstract;
  end;

As you can see, getters and setters are not in the picture
at all. Which means, you have all the freedom you want in
the derived class.

Plus, I like the idea that I could have a base class
with read-only property that can not be overriden to be
read-write later.

    property Width: integer read; virtual; abstract;

OK, while I like the idea, I can not think of how I would
use it though :-) Can someone help me out here <G>

-- Enhanced Multicast Events

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

property OnChange: TNotifyList;

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

OK. Nice to be able to do that. Do I have to write my
TNotifyList every time I need it?

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.

Yes, and it improved the readability, IMHO. Plus, there is
no reason for you to alter that in constructor/codeblock too.


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to