Why in Indy10 doesn't my component's constructor get called?

Giganews Newsgroups
Subject: Why in Indy10 doesn't my component's constructor get called?
Posted by:  Warren Postma (…@tekran.com)
Date: Fri, 13 Jan 2006

I'm trying to convert a component that inherits from TIdBaseComponent
from Indy9 to Indy10 and I've noticed that my constructor (Create) not
only doesn't get called, it's not even LINKED into my application.

I notice this unusual declaration in the IdBaseComponent:

TIdBaseComponent = class(TIdInitializerComponent)
    ...
  public
    // This is here to catch components trying to override at compile
time and not let them.
    // This does not work in .net, but we always test in VCL so this
will catch it.
    {$IFNDEF DotNet}
    constructor Create(AOwner: TComponent); reintroduce; overload;
    {$ENDIF}

WHY!? WHY!? WHY!?

How am I supposed to set up my component if I can't add stuff to my own
component via the constructor?

Warren

Replies