I missed to ; at the end of the line in the interface.
Combined with [Bindable] in each property, the warning goes away.
All this versions compile and works but with bindable warnings:
[Bindable]
public interface ILanguage
{
function get LoginCompany():String
function get LoginEMail():String
function get LoginPassword():String
}
public interface ILanguage
{
[Bindable] function get LoginCompany():String
[Bindable] function get LoginEMail():String
[Bindable] function get LoginPassword():String
}
[Bindable]
public interface ILanguage
{
function get LoginCompany():String;
function get LoginEMail():String;
function get LoginPassword():String;
}
Only this version compile, works and without bindable warnings:
public interface ILanguage
{
[Bindable] function get LoginCompany():String;
[Bindable] function get LoginEMail():String;
[Bindable] function get LoginPassword():String;
}
Solved for now.
Hugo Ferreira <[email protected]> escreveu no dia quinta, 13/08/2020
à(s) 09:52:
> If I do: FormItem label="{LocaleManager.localeStrings.LoginEMail}"
>
> I get: Warning: Data binding will not be able to detect assignments to
> 'LoginEMail'
> localeStrings returns of type Interface and at runtime it returns an
> object to implements the interface (I have [Binding] on the interface, the
> class that implements the interface and also in the LocaleManager).
>
> BUT:
>
> If I change the LoginEMail getter on the interface to a function: FormItem
> label="{LocaleManager.localeStrings.LoginEMail()}"
>
> The warning goes away.
>
> I would like to go through the getter approach instead of the method but
> this warning is pushing me away.
>
> Is I doing something wrong or this is a bug on the compiler (if so, can I
> silence this type of warning) ?
>
>