[fpc-devel] RFC: Delphi style class helpers

Sven Barth pascaldragon at googlemail.com
Tue Dec 21 10:20:46 CET 2010


Am 21.12.2010 00:23, schrieb Jonas Maebe:
>
> On 21 Dec 2010, at 00:16, Jonas Maebe wrote:
>
>> On 20 Dec 2010, at 21:37, Sven Barth wrote:
>>
>>> - should abstract methods be forbidden?
>>
>> Yes, since
>> a) they are virtual
>> b) even if it were possible to have virtual methods, there would be no
>> way to override them with implementations that do something (since you
>> cannot inherit from a class helper)
>
> Actually, it seems that inheritance is in fact allowed for Delphi-style
> class helpers: http://qc.embarcadero.com/wc/qcmain.aspx?d=76577 (it's
> not for Objective-C categories). But I'm still quite sure you cannot do
> anything that requires changes to the VMT of the helped class.
>

Ok... I should be able to implement that rather easy.

> There are also at some extra checks that must be added for
> constructors/destructors introduced via class helpers
> (Objective-C/Pascal doesn't have constructors or destructors, so it
> doesn't matter there):
> *
> http://docwiki.embarcadero.com/RADStudio/en/E2295_A_class_helper_cannot_introduce_a_destructor_(Delphi)

Should be easy to check.

> *
> http://docwiki.embarcadero.com/RADStudio/en/E2296_A_constructor_introduced_in_a_class_helper_must_call_the_parameterless_constructor_of_the_helped_class_as_the_first_statement_(Delphi)

Ok... O.o that will be an interesting one.

> *
> http://docwiki.embarcadero.com/RADStudio/en/E2358_Class_constructors_not_allowed_in_class_helpers_(Delphi)

As we don't have them yet...

Regards,
Sven



More information about the fpc-devel mailing list