On Tue, 16 Apr 2013, Antonio Linares wrote:
Hi,
> A xHarbour user that is migrating to Harbour has reported us this
> uncompatibility that works fine with xHarbour:
He simply does not know what his talking about ;-)
>
> Oevent:CustomProperties:Property("ID") = anyvalue gives the following error
>
> planninghrb.prg(838) Error E0022 Invalid lvalue ':'
Perfect behavior. Just like in Clipper, xBase++ and most of other
compatible dialects with basic syntax verification at compile time.
> He asked us to resend the question to you, thanks
It's wrong group. xHarbour bugs should not be reported here.
If you plan to write to xHarbour list then you can attach
this example:
proc main()
local o := errorNew()
o:cargo( "bla bla bla", "ABC" + date() / .f. ) := 123
? o:cargo
o:cargo( "this is xHarbour bug" ) := "any"
? o:cargo
o:cargo( "becaue", "it", "does", "not", "report" ) := date()
? o:cargo
o:cargo( "compile", "time", "error", "for", "method" ) := time()
? o:cargo
o:cargo( "call used in assigment", ;
"what I reported few times" ) := .t.
? o:cargo
return
Just like the code above it's shows that xHarbour accepts method calls
with any idiotic parameters as lvalue in assignment operations.
Of course all such parameters does not have any meaning and xHarbour
without any errors or warnings generate code like for instance variable
assignment so
o:cargo( "bla bla bla", "ABC" + date() / .f. ) := 123
it's the same as:
o:cargo := 123
and:
Oevent:CustomProperties:Property("ID") = anyvalue
it's the same as:
Oevent:CustomProperties:Property = anyvalue
It's really funny to see such messages about "correct code working
for years".
regards,
Przemek