Mattias Gaertner schrieb:
A simple example:
interface
function GetProp: byte;
var
test: integer;
property
prop1: byte read GetProp;
prop2: byte read GetProp;
implementation
function GetProp: byte;
begin
Result := 0; //whatever you like. check code completion for "Result"
end;
Local properties? I didn't know that this is allowed.
Above snippet should be in the *interface* part of a unit, see above.
Sorry for the confusion :-(
And my four
days old fpc 2.5.1 gives a strange error:
Error: Resourcestrings can be only static or global
That's definitely a bug. If one of the FPC developers lurks:
procedure psub.property_dec, line 673: parser_e_resourcstring_only_sg is
wrong message. A new message parser_e_property_... is required.
The usage of an function name instead of the Result variable has been
restricted. For some reason Lazarus now rejects "Result" in code
completion, even if it is accepted by the compiler.
Can you give an example or better: the definition?
This happened to me in a property getter function, i.e. in the GetProp
implementation in above example. So it may be related to the above
property problem.
I don't know. The above does not compile.
Please try again.
It also seems that Lazarus has problems with $IF, even simple
expressions are not evaluated properly, so that the wrong branch is
handled as enabled/disabled.
Can you give an example?
Commandline option: -dMyConst:=1 (may work with local $DEFINE as well)
I implemented it.
Code: {$IF MyConst>1} ...
This works now.
Pretty fast, thanks :-)
DoDi
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus