Board index » cppbuilder » Re: BDS2006 - What works and what doesn't

Re: BDS2006 - What works and what doesn't


2006-06-01 07:20:25 PM
cppbuilder111
At 12:15:21, 01.06.2006, Hendrik Schober wrote:
Quote
>>Are you actually reading this group? It is full of complaints from
>>users...
>
>Far fewer than before. [...]

When "before"?
Before BDS2006.
--
Rudy Velthuis [TeamB] rvelthuis.de/
"Rarely is the question asked: Is our children learning?"
-- George W. Bush
 
 

Re:Re: BDS2006 - What works and what doesn't

At 09:31:02, 01.06.2006, Edmund wrote:
Quote
Rudy Velthuis [TeamB] wrote:

>
>I found that you need at least 1 GB to have a quick and nice IDE.
>
I do have 1GB of memory. :) Which is worrying me why it's slow.

Edmund
Oops! There can be many reasons why it is slow, but I can't tell which of
them would apply.
--
Rudy Velthuis [TeamB] rvelthuis.de/
"The company doesn't tell me what to say, and I don't tell them
where to stick it." -- Unknown
 

Re:Re: BDS2006 - What works and what doesn't

Edmund wrote:
Quote
Why can't they get Indy 9 come with BDS2006?
It does. When installing you choose whether you want 10 or 9 with a
note saying that for C++ you have to choose 9.
--
Andrue Cope [TeamB]
[Bicester, Uk]
info.borland.com/newsgroups/guide.html
 

{smallsort}

Re:Re: BDS2006 - What works and what doesn't

At 11:52:17, 01.06.2006, David Perkins wrote:
Quote
>Just so that we have it all in one place can somebody list the
>things that don't work with BDS2006? I have bought it but haven't
>migrated yet and I'm wondering whether I should bother just yet?


If you use any third-party Delphi components in your BCB apps, then you
may want to give Update 2 a miss as it creates duff hpp files (+bpls??).

Still waiting for Borland to fix this:

qc.borland.com/wc/qcmain.aspx
What IS the problem there? Using a class function to serve an instance
property is highly suspect, and should never be done. The code generated
is actually correct, so I doubt you'll see it fixed.
IOW, what is defect is the code that uses the class method, instead of a
normal instance method. The hpp generator is fine, and translates
correctly.
IMO, this should not have compiled in Delphi either. It only works
because nothing uses any members of the class.
--
Rudy Velthuis [TeamB] rvelthuis.de/
"Heaven is an American salary, a Chinese cook, an English house, and a
Japanese wife. Hell is defined as having a Chinese salary, an English
cook, a Japanese house, and an American wife."
-- James H. Kabbler III.
 

Re:Re: BDS2006 - What works and what doesn't

Edmund wrote:
Quote
If it ain't working ... why even have it installed?
For Delphi users - remember them? It only installs if you choose to
and warns that it does not work for C++.
Quote
Why can't they get Indy 9 come with BDS2006?
It does. It pays to read the info in the installation dialogs
carefully. There is a page with the choice of activating Indy 9 or
Indy 10.
Quote
Saves a lot of hassle for the customer from uninstalling
Indy10, installing Indy9.
You don't have to uninstall/install from the CDs - the files should
have already been installed and you can switch using the Component |
Install Packages menu option. Unfortunately there is little help on
which of the packages to install to get Indy 9 up and running. It
appears that the package needed for Indy 9 is:
...\bin\dclindy100.bpl
You might want to also uncheck the Indy 10 packages in the design
packages list if you do not intend to use them. (Once the package is
installed, it will clearly list the Indy 9 and Indy 10 packages in the
listing.)
- Leo
 

Re:Re: BDS2006 - What works and what doesn't

In article <447eb8d0$ XXXX@XXXXX.COM >,
David Perkins < XXXX@XXXXX.COM >wrote:
Quote
If you use any third-party Delphi components in your BCB apps, then you
may want to give Update 2 a miss as it creates duff[sic] hpp files...
I think you're overstating the problem. Only some components are
going to be bit by this bug. I have a number which were unaffected.
--
-David
Quis custodiet custodes ipsos?
 

Re:Re: BDS2006 - What works and what doesn't

"Rudy Velthuis [TeamB]" < XXXX@XXXXX.COM >wrote in message
Quote
At 11:52:17, 01.06.2006, David Perkins wrote:

>>Just so that we have it all in one place can somebody list the
>>things that don't work with BDS2006? I have bought it but haven't
>>migrated yet and I'm wondering whether I should bother just yet?
>
>
>If you use any third-party Delphi components in your BCB apps, then you
>may want to give Update 2 a miss as it creates duff hpp files (+bpls??).
>
>Still waiting for Borland to fix this:
>
>qc.borland.com/wc/qcmain.aspx

What IS the problem there? Using a class function to serve an instance
property is highly suspect, and should never be done. The code generated
is actually correct, so I doubt you'll see it fixed.

Rudy, Check out QC 1857, and IsBlob in DB.pas/.hpp
I agree it seems suspect, but it hasn't stopped borland doing it. and as
Bruneau remarks, it's a regression problem. BCB5 handled this correctly, as
did Update #1.
Also, as David points out, it certainly doesn't affect ALL third party
components, and I believe you could work round it by manually tweaking the
HPP files or judicious use of HPPEMIT directives...
- Roddy
 

Re:Re: BDS2006 - What works and what doesn't

Hendrik Schober wrote:
Quote
Are you working on it alone?
It varies. Usually there's at least one other developer. I'm helped by
the fact that the project has been around in some or another for over
twelve years and I started it.
I do seem to have developed a very good memory for source code, better
than my colleague. Interestingly there are strong stylistic aspects to
it. It's slightly worrying that I rely on style when debugging and
extending code. I've occasionally been misled simply because the code
was old and didn't conform to my expectations.
One trick I do use is compartmentalisation. I'm very good at switching
between different projects and even languages. I can even do that in
the real world. I can choose to just switch off from work when I go
home or switch back to it if I'm bored at home. I can have several
books 'on the go at once' and have no problem just picking one up and
continuing where I left off.
Last November I had one book at work, another at home, one at my
parent's house (left over from my last visit) and another I took to
America :)
--
Andrue Cope [TeamB]
[Bicester, Uk]
info.borland.com/newsgroups/guide.html
 

Re:Re: BDS2006 - What works and what doesn't

Quote
What IS the problem there?
The problem is that some legally compiled third-party Delphi components
generate incorrect hpp files which give errors when compiling in the BCB
personality.
If you know of a work around to apply to the hpp file then please let me
know.
 

Re:Re: BDS2006 - What works and what doesn't

Rudy Velthuis [TeamB] wrote:
Quote

Oops! There can be many reasons why it is slow, but I can't tell which of
them would apply.

I know. :) 'sok. Thanks. This 1GB burnt a hole in my
wallet. I'm not going to up that to 2GB. Will have
to find alternatives to getting this thing to speed up
a bit.
Edmund
 

Re:Re: BDS2006 - What works and what doesn't

Andrue Cope [TeamB] wrote:
Quote
Edmund wrote:

>Why can't they get Indy 9 come with BDS2006?

It does. When installing you choose whether you want 10 or 9 with a
note saying that for C++ you have to choose 9.

Well, I have the Indy10 sources. But in the Lib/
directory, I have both Indy9 and Indy10. And by
giving both directories a quick skim, I can't tell
for the life of me which Library is being by
which compiler.
(*great* In my attempt in trying dragging a TIdHTTP
component to my MDI form, BDS is now not responding.
I'm not even sure if this is a bug. Now, with
BDS frozen, a quick look at my Task Manager shows
three Not responding applications:
Drag Not Responding
MdiApp - Borland Developer Studio 2006 - MAIN.CPP [Built: 0.58 secs]
Not Responding
MdiApp - Borland Developer Studio 2006 - MAIN.CPP [Built: 0.58 secs]
Not Responding
I don't even know why I have two MDI apps listed,
when I only have one frozen app, being BDS. I hadn't
even run the program yet, as I'm still designing
the form.)
Edmund
 

Re:Re: BDS2006 - What works and what doesn't

Try these things:
- Optimize your precompiled headers.
- Check your header files and make sure that all have header guards
- Get rid of network paths in the project
. Ed
Quote
Ed wrote in message
news: XXXX@XXXXX.COM ...

>
>Oops! There can be many reasons why it is slow, but I can't tell which of
>them would apply.
>
I know. :) 'sok. Thanks. This 1GB burnt a hole in my
wallet. I'm not going to up that to 2GB. Will have
to find alternatives to getting this thing to speed up
a bit.
 

Re:Re: BDS2006 - What works and what doesn't

At 12:34:59, 01.06.2006, David Perkins wrote:
Quote
>Does that include ICS? www.overbyte.be

Dunno. I assume it's related to particular property types/declarations
as I've not heard many people having trouble with this.
The member function used to get the Id is a class function (not quite the
same, but similar to a static member function). Class functions get an
extra (in Delphi: hidden) parameter of the metaclass, as correctly
translated in the .hpp file.
--
Rudy Velthuis [TeamB] rvelthuis.de/
"We don't like their sound, and guitar music is on the way out."
-- Decca Recording Co. rejecting the beatles, 1962
 

Re:Re: BDS2006 - What works and what doesn't

At 14:39:48, 01.06.2006, David Dean wrote:
Quote
In article <447eb8d0$ XXXX@XXXXX.COM >,
David Perkins < XXXX@XXXXX.COM >wrote:

>If you use any third-party Delphi components in your BCB apps, then
>you may want to give Update 2 a miss as it creates duff[sic] hpp
>files...

I think you're overstating the problem. Only some components are
going to be bit by this bug. I have a number which were unaffected.
Only very few. Most component writers would not use a class function for
this (I wouldn't).
--
Rudy Velthuis [TeamB] rvelthuis.de/
"Friends may come and go, but enemies accumulate."
- Thomas Jones
 

Re:Re: BDS2006 - What works and what doesn't

At 15:38:19, 01.06.2006, David Perkins wrote:
Quote
>What IS the problem there?

The problem is that some legally compiled third-party Delphi components
generate incorrect hpp files which give errors when compiling in the
BCB personality.
The .hpp file is correct, AFAICS. But older compilers would declare an
extra wrapper function (see below) that called the static function, and
use that as the getter for the property.
Quote

If you know of a work around to apply to the hpp file then please let
me know.
So do the above:
1. declare a parameterless extra (virtual) function with the same name as
the class function
2. inline, give that function the code to call the static function,
passing __classid(TYourClass):
virtual XXX __fastcall GetYYY { return GetYYY(__classid(TZZZ)); }
Now your property will use the virtual function, and that calls the
static function.
In BCB5, I got:
#pragma option push -w-inl
/* virtual class method */
virtual int __fastcall GetId() { return GetId(__classid(TMyClass)); }
#pragma option pop
/* class method */
static int __fastcall GetId(TMetaClass* vmt);
__property int Id = {read=GetId, nodefault};
It seems that the part the generated the extra virtual function is defect.
--
Rudy Velthuis [TeamB] rvelthuis.de/
"If absolute power corrupts absolutely, where does that leave God?"
-- George Deacon.