[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