Board index » cppbuilder » VCL Compatibility Support Layer?

VCL Compatibility Support Layer?


2003-10-27 01:33:26 AM
cppbuilder5
Does anyone know what would be involved in building some kind of
'compatibility layer' between C++ Builder code and a GUI builder library
such as wxWindows or Qt?
What I have in mind is something that enables existing C++ Bulder code to be
compiled without the VCL. Instead, the 'compatibility layer' would make all
of the declarations for VCL classes (TForm, TCanvas etc.) available to
programmers (through a replacement version of vcl.h), but the
implementations of these classes would simply invoke the relevant functions
of the (non-VCL) GUI Builder library.
No doubt doing the above would require a substantial amount of work, but
given the amount of C++ Builder code out there, it might be worth the
effort for someone (preferably Borland!) to do it.
--
Chris Gordon-Smith
London
Homepage:
Email Address: Please see my Home Page
 
 

Re:VCL Compatibility Support Layer?

"Chris Gordon-Smith" < XXXX@XXXXX.COM >wrote in message
Quote
Does anyone know what would be involved in building some kind of
'compatibility layer' between C++ Builder code and a GUI builder library
such as wxWindows or Qt?

And what are you going to do with BCB extensions (e.g.
__property,__closure)?
 

Re:VCL Compatibility Support Layer?

G.B.R. wrote:
Quote
"Chris Gordon-Smith" < XXXX@XXXXX.COM >wrote in message
news:bngtb3$117viv$ XXXX@XXXXX.COM ...
>Does anyone know what would be involved in building some kind of
>'compatibility layer' between C++ Builder code and a GUI builder library
>such as wxWindows or Qt?
>

And what are you going to do with BCB extensions (e.g.
__property,__closure)?
Don't know. Please consider my question reworded to make clear that the
solution needs to deal with such things.
--
Chris Gordon-Smith
London
Homepage:
Email Address: Please see my Home Page
 

{smallsort}

Re:VCL Compatibility Support Layer?

Chris Gordon-Smith wrote:
Quote
Does anyone know what would be involved in building some kind of
'compatibility layer' between C++ Builder code and a GUI builder library
such as wxWindows or Qt?
If I understand your post correctly, you want a library that looks like
the VCL from an interface standpoint, but where the guts of the library
are implemented with wxWindows or QT? Is that correct?
This would be theoretically possible if:
1- You are willing to completely forget about runtime packages.
2- You have no problems using the same compiler that is in BCB6 (needed
for __property et al)
From the compiler and linker's standpoint, the VCL is nothing more than
a bunch of header files and some LIBs that resolve the symbols in those
header files. It might be possible to build a new set of LIBs that
resolve the same symbols, but with a different implementation.
There would be headaches though, I'm sure. Such as implementing the
classes nearest TObject, RTTI, initialization and finalization, and
various other OP type nuances that we have grown to know and hate.
PS: Sounds kind of like how CLX was implemented, except in C++.
h^2
 

Re:VCL Compatibility Support Layer?

Harold Howe [TeamB] wrote:
Quote
Chris Gordon-Smith wrote:

>Does anyone know what would be involved in building some kind of
>'compatibility layer' between C++ Builder code and a GUI builder library
>such as wxWindows or Qt?

If I understand your post correctly, you want a library that looks like
the VCL from an interface standpoint, but where the guts of the library
are implemented with wxWindows or QT? Is that correct?

Well, I was wondering whether this would be a way to provide continued
support for C++ Builder code if Borland discontinue support. What I
actually want is that Borland conrinue support for C++ Builder and Kylix
C++.
[snip]
Quote

From the compiler and linker's standpoint, the VCL is nothing more than
a bunch of header files and some LIBs that resolve the symbols in those
header files. It might be possible to build a new set of LIBs that
resolve the same symbols, but with a different implementation.

[snip]

PS: Sounds kind of like how CLX was implemented, except in C++.

Thanks. I wondered whether CLX might have been put together this way.
--
Chris Gordon-Smith
London
Homepage:
Email Address: Please see my Home Page