BCB to CBX - Practical Cases

BCB to CBX - Practical Cases

Post by Jim Melso » Fri, 03 Oct 2003 13:18:05

Just trying to get some kind of a handle on the impact of CBuilderX on an
existing application in practical terms.

Does anyone know how it would work (in a general way) to migrate the
following types of cases from BCB 5 or 6 to CBX?

1. A BCB application that uses a custom dataset derived from TDataSet?

2. A BCB application that uses AnsiString?

3. A BCB application that uses Borland datasets such as TQuery that are
linked to visual database controls such as TDBGrid?

4. A BCB5 application that implements COM interfaces?

5. A BCB application that uses custom components derived from TComponent?


BCB to CBX - Practical Cases

Post by Team » Fri, 03 Oct 2003 13:41:16

That involves the VCL. CBX does not include any kind of native VCL support
at the moment. Borland is expected to shortly release documents regarding
VCL's future in CBX. In the meantime, people have been able to use CBX to
compile VCL-based projects, mainly because CBX ships with BCB6's compiler
and linker, so everything BCB6 could compile, so can CBX. However, that
does require that you have BCB installed as well so that you can link to its
precompiled library binaries. And that does not include the ability to edit
VCL forms visually via design-time editors. They don't exist in CBX just
yet, so you have to continue using BCB for any design-time editing that you
want to do, then you can use CBX for the compiling once you have everything
set up.

See above.

See above.

That depends on how the interfaces are implemented to begin with - whether
you're using VCL wrappers, using the ATL, or using direct access. If the
VCL, see above. If the ATL, it should port more or less, as ATL is a
standalone framework that both BCB and VC++ use, so offhand I can't imagine
CBX not being able to use it as well. If direct access, then you shouldn't
have anything to worry about, I think.

See further above.



BCB to CBX - Practical Cases

Post by Russell Hi » Fri, 03 Oct 2003 16:57:39

I wouldn't call it migration, but I have my VCL application building
under both CBX and BCB6. CBX ships with bcc32 5.6.4 and the same
headers as BCB6 (bar the VCL headers). So I set up a project to point
to the VCL headers also and the compiler options to point to the VCL
libraries and options and it builds. Can't do any GUI development in
CBX, so switch back to BCB6 when I need to modify the GUI, but apart
from that, I can build, develop and debug in CBX and I prefer the IDE to



BCB to CBX - Practical Cases

Post by Alisdair » Fri, 03 Oct 2003 18:36:57

"Remy Lebeau \(TeamB\)" < XXXX@XXXXX.COM > wrote in

I have never been overly comfortable with BCB COM support, but then I have
never been comfortable with COM programming in general <g>

Aer you suggesting it would be a good idea to migrate our BCB-wrapped COM
to ATL, even under BCB6, to ease eventual porting to CBuilderX?

If so, do you have any tips/references for using ATL with BCB?

I'll also redirection follups to a more appropriate newsgroup
(.public.ActiveX) but thought I'd leave the 'head' message in non-tech as
it is a CBuilderX migration issue too.


BCB to CBX - Practical Cases

Post by Edward Die » Fri, 03 Oct 2003 22:10:46

But it doesn't buy you anything as of yet. If, for example, there were an
Ansi C++ 100% compliant compiler in CBX which handled C++ constructs which
BCB6 can not, then theoretically one could design in BCB6 ( but never
compile/link ) and compile/link in CBX to get the final executable and/or
libraries. But even this is a pain since one must split development between
two different environments.

The problem with CBX right now is in how little it does for the developer.
The idea is a fine one but its practical use is very limited for BCB
programmers as of now.

BCB to CBX - Practical Cases

Post by Randall Pa » Sat, 04 Oct 2003 13:29:55

The fact that the bcc32 is still the same v5.6.4 as is in the latest
service pak for BCB v6 is not a good sign. So has Borland stopped all
development of their own C++ compiler?

BCB to CBX - Practical Cases

Post by Randall Pa » Sat, 04 Oct 2003 13:33:34

If Borland rev'ved their own compiler to make it, as you say, much more
compliant one could still replace the compiler in BCB v6 with it and
that way still be able to build from within BCB v6. Even if one had to
buy BCBX to get that newer compiler to use with BCB v6 that'd be worth
it for me.

The fact that they haven't provided a newer bcc32.exe compiler with BCBX
than the v5.6.4 that is with the latest BCB v6 service pak might
indicate they have dropped development of their own C++ compiler. Could
that be the case? I wouldn't care if I didn't have so much development
work into C++/VCL forms with lots more enhancements underway for them.

BCB to CBX - Practical Cases

Post by Jim Melso » Sat, 04 Oct 2003 13:48:12

Jim Melsom < XXXX@XXXXX.COM > wrote in

Maybe I should ask it another way. When I ported from OWL to BCB there
were equivalent or better classes to replace the OWL classes. There was
a lot of value added moving from OWL to BCB/VCL. Most of the value was
due to the VCL. If the VCL is not directly supported by CBX in some
manner, I wouldn't be looking for a hybrid development environment, but
an integrated one with native classes that fully replace what was in VCL

What I'm wondering (and I guesss many others are too) is what replaces
key classes such as:

- TDataSet
- TADOQuery and other ADO classes
- data-linked controls

What replaces AnsiString?

Is the property-method-event (PME) model supported?

Is there a replacement for the IDE-hosted type library editor?

What replaces list classes such as TList, TObjectList, etc.

BCB to CBX - Practical Cases

Post by Team » Sat, 04 Oct 2003 15:27:01

Assuming they make it compatible so that BCB can call it, then I would
imagine so.

I would be very surprised if they didn't release a free command-line version
of the new compiler eventually. They already provide BCB's command-line
compiler for free, and there are people who are using it. I would think
that those people are going to want a upgrade their compiler at some point.

Hardly. They are committed to releasing a new 100% compliant compiler.
That is one of their big bullet-points for CBX. They just haven't finished
it yet. CBX does include a preview version of it, I believe, but the
full-blown compiler is still in the works. They had to provide some working
compiler in the meantime, thus BCB6's compiler.


BCB to CBX - Practical Cases

Post by Team » Sat, 04 Oct 2003 15:28:19

You must have missed the previous announcements Borland made earlier on
regarding the compiler.

No, of course not. See my other reply.


BCB to CBX - Practical Cases

Post by Team » Sat, 04 Oct 2003 15:33:02

Not specifically so at the moment, but it is possible to compile VCL
projects under CBX right now, since CBX includes BCB6's compiler.
Everything BCB6 could compile, so can CBX. You just need to use the
precompiled libs that are in BCB6, and there isn't any visual designers
right now so you have to actually use BCB6 to edit your forms.

Borland is dealing with the issue of VCL in CBX. They will be announcing
details about it shortly.

Nothing yet. There is no VCL in CBX at this time, and there is no new
framework in place yet. That is still being worked on. However, as I
stated above, you can still use the existing VCL if you have BCB6 available.

See above.

See above.


BCB to CBX - Practical Cases

Post by Russell Hi » Sat, 04 Oct 2003 16:48:46

No, their new compiler is included, but only as a preview. bcc32 5.6.4
is still the official version. The preview version is 6.0.0


BCB to CBX - Practical Cases

Post by Duane Hebe » Sat, 04 Oct 2003 22:04:15

> What I'm wondering (and I guesss many others are too) is what replaces

For me, I wouldn't mind if Borland came up with some C++ versions
of these classes. We only use AnsiString because it doesn't seem
efficient to constantly say

std::string SomeString("whatever");
MyButton->Caption = SomeString.c_str();

If AnsiString was replaced by std::string, maybe with some help from Boost
format library and TStringList is replaced by std::vector<std::string> I
think this
would be excellent. We don't directly use things like TList and TObjectList
as they can usually be replaced by standard containers. I imagine that
could keep some of these objects and just rewrite them as standard
I think this would be a good thing.

What I'm worried about most are the third party libs that we've purchased
such as TeeChart, FastReport etc. If VCL isn't supported in some way, what
will happen
to this investment?

BCB to CBX - Practical Cases

Post by Leo Siefer » Sat, 04 Oct 2003 22:42:18

On Thu, 02 Oct 2003 21:33:34 -0700, Randall Parker

If this were possible, I doubt that it could support VCL, so what
could be gained?

- Leo

BCB to CBX - Practical Cases

Post by Edward Die » Sat, 04 Oct 2003 22:48:27

Why would making the BCB compiler Ansi C++ compliant mean it could not
support the VCL ? The extensions exist outside of the core C++ language. I
don't see any reason why the BCB ( or CBX compiler ) could not be Ansi C++
compliant and still support VCL extensions.