[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