 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Boian Mitov Guest
|
Posted: Wed Mar 23, 2005 11:10 pm Post subject: A twisted relity. |
|
|
Now we live in a twisted reality. It appears that it is easier to use
VCL written in C++ Builder inside VC++ than it is to use it in Delphi.
It is easier to use a library written in VC++ inside Delphi or C++
Builder application than to use it inside VC++. It is easier to use a
library compiled in Intel C++ compiler in VC++ application than a VC++
compiled library in VC++ application.
Isn't it a strange world?
Cheers,
Boian
|
|
| Back to top |
|
 |
Ed Mulroy [TeamB] Guest
|
Posted: Wed Mar 23, 2005 11:47 pm Post subject: Re: A twisted relity. |
|
|
How did you arrange for a static library written in VC++ to be usable
with a Borland compiler?
How did you arrange for VC++ to understand and use the VCL's
underlying Delphi protocols, class structure and operation and calling
conventions?
I doubt that you have been able to do either of those, let alone that
they are easier.
.. Ed
| Quote: | Boian Mitov wrote in message
news:4241f70b (AT) newsgroups (DOT) borland.com...
Now we live in a twisted reality. It appears that it is easier to
use VCL written in C++ Builder inside VC++ than it is to use it in
Delphi. It is easier to use a library written in VC++ inside Delphi
or C++ Builder application than to use it inside VC++. It is easier
to use a library compiled in Intel C++ compiler in VC++ application
than a VC++ compiled library in VC++ application.
Isn't it a strange world?
Cheers,
Boian
|
|
|
| Back to top |
|
 |
Remy Lebeau (TeamB) Guest
|
Posted: Thu Mar 24, 2005 12:17 am Post subject: Re: A twisted relity. |
|
|
"Ed Mulroy [TeamB]" <dont_email_me (AT) invalid (DOT) com> wrote
| Quote: | How did you arrange for VC++ to understand and use the
VCL's underlying Delphi protocols, class structure and operation
and calling conventions?
|
VCL for VC++
http://www.mitov.com/html/vcl_for_vc__.html
Gambit
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 12:20 am Post subject: Re: A twisted relity. |
|
|
Hi Ed,
I do both! And it is not bad at all!
1. We have developed a COFF->OMF converter that we use. It converts VC++
COFF static libraries into Borland OMF static object files, and you can
combine those into libraries or use them in Delphi as we do. Our new
version of VideoLab, SignalLab, AudioLab and VisionLab will use directly
Intel IPP, and we have sent already few prereleases to some of our
customers. This is right. IPP consists of nearly 20000 object files, and
we succeeded to convert all of them and link with no problems in BCB5,
D5, BCB6, D6, D7 and D2005! We are working to get the public beta later
this week if we succeed to finish testing the installations.
2. I am just uploading the Visual C++ version of PlotLab using "VCL for
VC++" Level 2 support. VideoLab for VC++ using older version of "VCL for
VC++" Level 1 has been out for about a year already.
Level 2 support resolves all the calling convention issues by using a
parsing tool I have developed. It generates the necessary few lines to
rearrange the stack for each call into the Delphi VCL functions. You
have to just run the utility on almost any VCL component and it will
generate a native C++ proxy for you. Works just great! If Borland does
not finally do something to make Delphi accept BCB components, I guess I
may have to do something for that as well, as I am losing patience.
Yes. Both of those are now as easy as running a single command line
utility to generate the necessary files. So yes it is easy, and yes it
is twisted. It should not be like that. I really hope that Borland will
finally do something in terms of supporting BCB components in Delphi as
well as Microsoft doing something to support library development better than
the current situation.
If you want to see some of the stuff I am talking about, please visit
www.mitov.com . I can also send you some of the utilities that are not
publicly available yet, if you contact me directly.
With best regards,
Boian Mitov
Ed Mulroy [TeamB] wrote:
| Quote: | How did you arrange for a static library written in VC++ to be usable
with a Borland compiler?
How did you arrange for VC++ to understand and use the VCL's
underlying Delphi protocols, class structure and operation and calling
conventions?
I doubt that you have been able to do either of those, let alone that
they are easier.
. Ed
Boian Mitov wrote in message
news:4241f70b (AT) newsgroups (DOT) borland.com...
Now we live in a twisted reality. It appears that it is easier to
use VCL written in C++ Builder inside VC++ than it is to use it in
Delphi. It is easier to use a library written in VC++ inside Delphi
or C++ Builder application than to use it inside VC++. It is easier
to use a library compiled in Intel C++ compiler in VC++ application
than a VC++ compiled library in VC++ application.
Isn't it a strange world?
Cheers,
Boian
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 12:21 am Post subject: Re: A twisted relity. |
|
|
Thanks Remy!
Boian
Remy Lebeau (TeamB) wrote:
|
|
| Back to top |
|
 |
Tamas Demjen Guest
|
Posted: Thu Mar 24, 2005 12:31 am Post subject: Re: A twisted relity. |
|
|
Ed, he really has a solution:
http://mitov.com/html/vcl_for_vc__.html
Tom
Ed Mulroy [TeamB] wrote:
| Quote: | How did you arrange for a static library written in VC++ to be usable
with a Borland compiler?
How did you arrange for VC++ to understand and use the VCL's
underlying Delphi protocols, class structure and operation and calling
conventions?
I doubt that you have been able to do either of those, let alone that
they are easier.
. Ed
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 12:36 am Post subject: Re: A twisted relity. |
|
|
Thanks Tom,
And Tom has a solution for porting VCL into WinForms.NET :
http://www.tweakbits.com/tfm/
So even more twisted world .
Cheers,
Boian
Tamas Demjen wrote:
|
|
| Back to top |
|
 |
Ed Mulroy [TeamB] Guest
|
Posted: Thu Mar 24, 2005 12:39 am Post subject: Re: A twisted relity. |
|
|
That confirms what I said. It is not as he claims.
His web page documents it. The product DOES NOT allow the VCL to be
used with Visual C++.
What he has done is to provide translation layers to thunk to VCL
packages and limited ability to use some properties.
His forum message makes provocative claims about his product, claims
that state that it is easier to use the VCL with Visual C++ than with
Borland's compiler. Judging from the information on his page, the
claim in his post is false.
.. Ed
| Quote: | Remy Lebeau wrote in message
news:424206f5$1 (AT) newsgroups (DOT) borland.com...
How did you arrange for VC++ to understand and use the
VCL's underlying Delphi protocols, class structure and operation
and calling conventions?
VCL for VC++
http://www.mitov.com/html/vcl_for_vc__.html
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 12:41 am Post subject: Re: A twisted relity. |
|
|
I was at Universal Studio the other day and they had the "Terminator"
show. So the lines for the corporation making the SkyNet ware something
like:
"Imagine a world where the butterflies will fly on batteries.
Imagine a world where the neurosurgeon will be able to perform a surgery
without missing a day at the beach
Imagine a world where the mother can take care of her kid from half a
world away..."
It kind of reminded me of the twisted situation we have .
Cheers,
Boian
P.S. I can even run the BCB on batteries on my notebook
|
|
| Back to top |
|
 |
Ed Mulroy [TeamB] Guest
|
Posted: Thu Mar 24, 2005 1:00 am Post subject: Re: A twisted relity. |
|
|
| Quote: | 1. We have developed a COFF->OMF converter that we use. It converts
VC++ COFF static libraries into Borland OMF static object files,
and you can combine those into libraries or use them in Delphi as we
do. Our new version of VideoLab, SignalLab, AudioLab and VisionLab
will use directly ...
|
Assuming that the static library in the Microsoft COFF format has been
converted to a valid Intel standard OMF format such as is used by
Borland how is it then usable in a program created with C++ Builder?
Conversion between COFF to OMF, reconfiguring the stack on the fly and
translating public names handles but a few in a list of issues that
must be dealt with to static link a VC++ object file into a C++
Builder program or a Borland object file into a VC++ one.
There is a third party tools group on this server which is where
people can post messages advertising such tools. If you want to
advertise, doing it here in a left-handed way is not appropriate.
In your original message you were complaining about Borland and
advancing VC++. The wording was in a manner suggestive of a desire to
undermine Borland, work against Borland's interests, purportedly but
probably not actually in the interests of the people reading this
group. The people reading this group are Borland's customers, and I
view such people as important and not to be toyed with. Advertise
your wares in the third party tools group.
.. Ed
| Quote: | Boian Mitov wrote in message
news:42420793$1 (AT) newsgroups (DOT) borland.com...
Hi Ed,
I do both! And it is not bad at all!
1. We have developed a COFF->OMF converter that we use. It converts
VC++ COFF static libraries into Borland OMF static object files, and
you can combine those into libraries or use them in Delphi as we do.
Our new version of VideoLab, SignalLab, AudioLab and VisionLab will
use directly Intel IPP, and we have sent already few prereleases to
some of our customers. This is right. IPP consists of nearly 20000
object files, and we succeeded to convert all of them and link with
no problems in BCB5, D5, BCB6, D6, D7 and D2005! We are working to
get the public beta later this week if we succeed to finish testing
the installations.
2. I am just uploading the Visual C++ version of PlotLab using "VCL
for VC++" Level 2 support. VideoLab for VC++ using older version of
"VCL for VC++" Level 1 has been out for about a year already.
Level 2 support resolves all the calling convention issues by using
a parsing tool I have developed. It generates the necessary few
lines to rearrange the stack for each call into the Delphi VCL
functions. You have to just run the utility on almost any VCL
component and it will generate a native C++ proxy for you. Works
just great! If Borland does not finally do something to make Delphi
accept BCB components, I guess I may have to do something for that
as well, as I am losing patience.
Yes. Both of those are now as easy as running a single command
line utility to generate the necessary files. So yes it is easy, and
yes it is twisted. It should not be like that. I really hope that
Borland will finally do something in terms of supporting BCB
components in Delphi as well as Microsoft doing something to support
library development better than the current situation.
If you want to see some of the stuff I am talking about, please
visit www.mitov.com . I can also send you some of the utilities that
are not publicly available yet, if you contact me directly.
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 1:01 am Post subject: Re: A twisted relity. |
|
|
Hi Ed,
This is not precisely correct. It will natively use the VCL packages
compiled in BCB6, and it will allow yo to call any public method inside
the package, as well as all published and some public properties. It is
as native as it can get. Yes it will allow you to call any VCL function
with any number/type of parameters, except variants, and it will work
with any VCL including the VCL packages that come with BCB6.
I don't see where it contradicts my claims. Please correct me if I
have stated something wrong. At least it does much more than what you
can do with BCB components from inside Delphi.
With best regards,
Boian Mitov
Ed Mulroy [TeamB] wrote:
| Quote: | That confirms what I said. It is not as he claims.
His web page documents it. The product DOES NOT allow the VCL to be
used with Visual C++.
What he has done is to provide translation layers to thunk to VCL
packages and limited ability to use some properties.
His forum message makes provocative claims about his product, claims
that state that it is easier to use the VCL with Visual C++ than with
Borland's compiler. Judging from the information on his page, the
claim in his post is false.
. Ed
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 1:05 am Post subject: Re: A twisted relity. |
|
|
Hi Ed,
Sorry I got too much excited after the VC++ library issues
discussion. Kind of frustrated with the issues of both BCB and VC++. I
suggest yo cancel this whole thread. I think it was wrong to start from
the beginning.
My mistake. Please accept my apology, and cancel the thread.
With best regards,
Boian Mitov
Ed Mulroy [TeamB] wrote:
| Quote: | 1. We have developed a COFF->OMF converter that we use. It converts
VC++ COFF static libraries into Borland OMF static object files,
and you can combine those into libraries or use them in Delphi as we
do. Our new version of VideoLab, SignalLab, AudioLab and VisionLab
will use directly ...
Assuming that the static library in the Microsoft COFF format has been
converted to a valid Intel standard OMF format such as is used by
Borland how is it then usable in a program created with C++ Builder?
Conversion between COFF to OMF, reconfiguring the stack on the fly and
translating public names handles but a few in a list of issues that
must be dealt with to static link a VC++ object file into a C++
Builder program or a Borland object file into a VC++ one.
There is a third party tools group on this server which is where
people can post messages advertising such tools. If you want to
advertise, doing it here in a left-handed way is not appropriate.
In your original message you were complaining about Borland and
advancing VC++. The wording was in a manner suggestive of a desire to
undermine Borland, work against Borland's interests, purportedly but
probably not actually in the interests of the people reading this
group. The people reading this group are Borland's customers, and I
view such people as important and not to be toyed with. Advertise
your wares in the third party tools group.
. Ed
|
|
|
| Back to top |
|
 |
Boian Mitov Guest
|
Posted: Thu Mar 24, 2005 1:21 am Post subject: Re: A twisted relity. |
|
|
I have willingly canceled the message where I have posted a link to a
product. As it appears that this thread may be touching sensitive group
guidelines, I suggest a cancellation of the whole thread.
With best regards,
Boian Mitov
Boian Mitov wrote:
| Quote: | Now we live in a twisted reality. It appears that it is easier to use
VCL written in C++ Builder inside VC++ than it is to use it in Delphi.
It is easier to use a library written in VC++ inside Delphi or C++
Builder application than to use it inside VC++. It is easier to use a
library compiled in Intel C++ compiler in VC++ application than a VC++
compiled library in VC++ application.
Isn't it a strange world?
Cheers,
Boian
|
|
|
| Back to top |
|
 |
Ed Mulroy [TeamB] Guest
|
Posted: Thu Mar 24, 2005 1:24 am Post subject: Re: A twisted relity. |
|
|
| Quote: | This is not precisely correct...
|
Yes it IS precisely correct.
Your original message said "It appears that it is easier to use VCL
written in C++ Builder inside VC++ than it is to use it in Delphi"
If you read your own web page you will see that your product does NOT
allow VCL to be used inside VC++.
Your wording cleverly states C++ Builder then compares to use inside
Delphi which makes a technical point that C++ Builder object files are
not in general easily used in Delphi. However the message compares
C++ Builder to VC++, two C++ platforms and really does not address
Delphi in any other way than as a device to make a misleading point.
Your new message says:
"Yes it will allow you to call any VCL function with any number/type
of parameters, except variants, and it will work with any VCL
including the VCL packages that come with BCB6"
Ok, create C++ Builder code using the VCL working examples of these.
Non-trivial examples please. Don't show them to me. I don't need to
see them. You need not even tell me about them. Just do it and be
very detailed in your debugging to confirm proper operation.
- A function in the VCL code in the package which accepts and
uses a reference to an instance of a C++ class whose parent
has virtual functions, some of which are overridden in the child
and all of which are used. As a calling argument pass it a
reference
to a class instance that was created by the VC++ code.
- A function in the VCL code which accepts and uses a
std::vector<std::string> & and call it from VC++ code that has
created the instance of the vector.
Note that I do not present this list as a demonstration of all issues
that need to be dealt with. I am neither angry at you nor wish you
anything but success. I know your statement in the message which
started this thead was not correct. You do not allow VCL code to be
used in a VC++ program. You have merely thunked so that an external
'Package', a specialized DLL, can be used by a VC++ program. I also
doubt that you have solved all of the interface problems.
.. Ed
| Quote: | Boian Mitov wrote in message
news:42421114$1 (AT) newsgroups (DOT) borland.com...
Hi Ed,
This is not precisely correct. It will natively use the VCL packages
compiled in BCB6, and it will allow yo to call any public method
inside the package, as well as all published and some public
properties. It is as native as it can get. Yes it will allow you to
call any VCL function with any number/type of parameters, except
variants, and it will work with any VCL including the VCL packages
that come with BCB6.
I don't see where it contradicts my claims. Please correct me if I
have stated something wrong. At least it does much more than what
you can do with BCB components from inside Delphi.
With best regards,
Boian Mitov
|
|
|
| Back to top |
|
 |
Ed Mulroy [TeamB] Guest
|
Posted: Thu Mar 24, 2005 1:31 am Post subject: Re: A twisted relity. |
|
|
Tom,
If what he claims in the headlines on his web page is correct then
yes, he has a solution.
However the solution is not what he claimed here. It does not allow
VCL code to be used with VC++. It allows exterenal 'packages',
specialized DLL's that contain VCL code, to be used by a VC++ program.
It might be that I did not read all of what is on his web site so
missed it but, unless one applies draconian restraints on what items
can be used as calling parameters and returned items across the VC++
and package function boundaries, I fear that the packages cannnot be
used in general by VC++ programs.
Note that I am not addressing variants or limitations on use of
properties, both of which he documents on his web page and neither of
which I view as a serious limitation.
That said, what he has accomplished is impressive.
.. Ed
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|