[lazarus] Order of destruction in TCustomListBox
Micha Nelissen
micha at neli.hopto.org
Mon Dec 15 16:20:14 EST 2003
Mattias Gaertner wrote:
> On Mon, 15 Dec 2003 09:01:47 +0100 Micha Nelissen <micha at neli.hopto.org>
> wrote:
>
>
>>Mattias Gaertner wrote:
>>
>>
>>>On Sun, 14 Dec 2003 15:09:48 +0100 Micha Nelissen
>>><micha at neli.hopto.org> wrote:
>>>
>>>><output>
>>>>CB.SomeFunc call
>>>>Constructor
>>>></output>
>>>>
>>>>Which is not logical, IMHO.
>>>
>>>
>>>It is just a matter of definition. Although it would be interesting how
>>>you imagine a more logical alternative.
>>
>>The definition is: the object is only 'defined', if it's constructor has
>>run completely. Something along those lines is used by C++. After each
>>constructor run, and only then, are the overriden function pointers
>>written to the VMT. Personally, I think this is more logical, although
>>maybe it's a matter of personal taste.
>
>
> I got the feeling, Micha is talking about general OOP, while the answers are
> about implementation details in FPC/Delphi. I think, the real problem is
> that there are different definitions of OOP.
>
> About your definition: "the object is only 'defined', if it's constructor
> has run completely."
>
> No one will argue about this. Because it does not say a word about inherited
> constructors. I guess, you mean something like this:
>
> "every class level of an object is only 'defined', if the constructor of
> this level has run completely."
Indeed, this is more like what I meant.
[snip]
> Of course you can also argue: Using another OO definition than FPC and
> saying FPC's OOP is not logical is illogical.
Well put, Mattias.
Micha.
More information about the Lazarus
mailing list