[fpc-pascal] Using properties in interfaces
Sven Barth
pascaldragon at googlemail.com
Tue Mar 22 11:58:31 CET 2011
Am 22.03.2011 10:59, schrieb Michael Fuchs:
> Hello,
>
>
> if I understand the documentation correct, this is the only way using a
> property in an interface:
>
> IMyInterface = interface
> function GetTag: Integer;
> procedure SetTag(AValue: Integer);
> property Tag: Integer read GetTag write SetTag;
> end;
>
> Or exists a possibilty to define the interface like that:
>
> IMyInterface = interface
> property Tag: Integer;
> end;
>
> And the programmer who implement this interface could decides how to
> implement the property?
Not as I'm aware of, because without that the compiler wouldn't be able
to call "code" behind the property (even if it's only a field). While
this could be worked around in the compiler if the implementation is in
the same binary, it's impossible if you use interfaces across DLL
boundaries where you don't have (by definition) access to the source (it
could even be done in a different language...).
Regards,
Sven
More information about the fpc-pascal
mailing list