Subject Re: [IBO] Re: IBA_Statement.IMP ???
Author Geoff Worboys
> Making a C++ compiler behave as a Pascal compiler to link
> with Delphi and introducing things like closure and bridging
> Pascal's Create with overloaded constructors is not on the
> list of things that make a C++ compiler to become an ANSI
> compiler, of course. BCB is like cloning. ;-)

Pascal supported overloaded constructors (before it supported
overloaded functions) by using constructor functions of different
names.

BCB supported overloaded constructors as part of the ANSI standard.
They are commonly used to create things like "copy" constructors
(similar to Pascal's Assign function).

The only problem was how to make the two merge without violating the
C++ compilers ANSI compliance. What they do is create "dummy"
parameters in the Pascal code so that BCB can distinguish between
constructor functions (in case anyone was wondering why TCustomForm
had a CreateNew constructor with a dummy integer parameter).


> I hope life has improved in the BCB field since the last
> time I used it, probably it was v3.

It has improved but there are still certain things you need to avoid
in Pascal code if you want BCB compatibility. I have a list of items
that I have come across (around here somewhere) - let me know if you
would like the details and I will dig them up.

I have not tried BCB5 yet. One thing which I hope has improved in
BCB5 is the expansion of the virtual method tables. Some time ago IBO
hit an internal limit in BCB4 and we were forced to remove some of the
virtual declarations, only adding back in those that are specifically
required.


Geoff Worboys
Telesis Computing