On Wed, 6 Feb 2013, Frank Church wrote:

On 6 February 2013 09:07, Michael Van Canneyt <mich...@freepascal.org> wrote:


On Wed, 6 Feb 2013, Frank Church wrote:

When I try to set a property using a function I get the error:

form001.pas(28,64) Error: Illegal symbol for property access
form001.pas(34,1) Fatal: There were 1 errors compiling module, stopping

Is there something about properties that prevent them from being set
by a function?


Yes, the absence of a result.
Results sometimes require special handling (strings etc).


I can call a function to set that property, but I wonder why a setter
can't be a function?


Because there is no result.

Where is the result in
 MyControl.Top:=3;
?


What I'm thinking of is when there is an error and the sender has to
be notified?

In the case of properties this can only be done with exceptions.

I am thinking of a case where it would be undesirable to raise an
exception that would stop the flow of the program
Would it be better to have some kind of exception handler or calling
some kind of function that would return an error code would be better?

You should use exceptions.

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

Reply via email to