Just got CBuilder 2009

This is the forum for general discussion.

Moderator: 2ffat

Just got CBuilder 2009

Postby mhoemann » Fri Sep 26, 2008 1:51 pm

I just received and installed C++ Builder 2009, and I was a little surprised. Bear in mind I haven't updated since BCB6, so maybe this happened before, but I was far less than thrilled to find they'd changed the IDE to a more VC-like environment. So far, (since this morning) I've had a lot of trouble and frustration navigating around in it.

The components all seem pretty well improved, and functionally, it's definitely an improvement. There's some great new features in debugging and breakpoints, etc. For me personally, though, what allows me to be the most productive is a work environment I can easily navigate, and I'm really having trouble effectively getting around in this version.

If anybody would like, I can be a little more specific about the features and improvements, etc.
mhoemann
BCBJ Veteran
BCBJ Veteran
 
Posts: 92
Joined: Wed Mar 12, 2008 9:10 am

Re: Just got CBuilder 2009

Postby rlebeau » Fri Sep 26, 2008 2:12 pm

mhoemann wrote:So far, (since this morning) I've had a lot of trouble and frustration navigating around in it.


What is so troublesome/frustrating about it exactly?
Remy Lebeau (TeamB)
Lebeau Software
User avatar
rlebeau
BCBJ Author
BCBJ Author
 
Posts: 1501
Joined: Wed Jun 01, 2005 3:21 am
Location: California, USA

Postby smays » Fri Sep 26, 2008 3:11 pm

My Builder 2007 still has a bit of the new car smell, so it will be a while (many months to years) before I will be interested in upgrading to Builder 2009. Despite that fact, I am interested in your opinion.

The nicest thing about upgrading from version 6.0 (and earlier) to Builder 2006 and beyond is the code space. I really like having the active file available at the top tab and the header files, etc. at the bottom tab. On the other hand, I really dislike the way the VCLs are made available, I wish I could place it back in the top of the screen like the good old days.


Two things I would like to point out about the newer versions of Builder (2006 and newer) are the following:

1.) The form designer is embedded with the code space which is very annoying, but this can be remedied so the form designer can be left floating much like versions 6 and earlier.
2.) The Synchronize() method in threads no longer exists. Gambit47 can probably write encyclopedias about that fact. If you have existing threads and you want to continue using them in Builder 2009 (recompiling them with Builder 2009, etc...), you will have to figure out how to work around the lack of availability of the Synchronize() method.


One thing I haven't figured out how to do is, when I recompile an existing program (adding features, fixing broken features, etc...) written using Builder 2006 with Builder 2007, the visual components maintain the 'old style' look and won't adopt the improved appearance made available by 2007. mhoemann, I don't know if this will affect you or not. Perhaps Builder 2009 has addressed and fixed this.

Steve.
smays
BCBJ Master
BCBJ Master
 
Posts: 231
Joined: Tue Sep 18, 2007 11:28 pm
Location: Huntsville, AL

Postby rlebeau » Fri Sep 26, 2008 4:29 pm

smays wrote:On the other hand, I really dislike the way the VCLs are made available, I wish I could place it back in the top of the screen like the good old days.


Most of the windows in the IDE are dockable, including the Tool Palette. You can move them around as you like, or undock them so they are floating.

smays wrote:The Synchronize() method in threads no longer exists.


Yes, it does. Why do you think it doesn't? In fact, Synchronize() has even been expanded on after BCB 6. There are several new overloaded versions for it, including new static versions so you don't need a TThread object instance anymore, as well as new asynchronous functionality so it doesn't have to block the calling thread anymore.

smays wrote:One thing I haven't figured out how to do is, when I recompile an existing program (adding features, fixing broken features, etc...) written using Builder 2006 with Builder 2007, the visual components maintain the 'old style' look and won't adopt the improved appearance made available by 2007.


Go into the Project Options and make sure the "Enable runtime themes" option is checked. It is unchecked by default for upgraded projects, and checked by default for new projects.
Remy Lebeau (TeamB)
Lebeau Software
User avatar
rlebeau
BCBJ Author
BCBJ Author
 
Posts: 1501
Joined: Wed Jun 01, 2005 3:21 am
Location: California, USA

Postby smays » Mon Sep 29, 2008 7:22 am

I remembered a post from earlier this year regarding using the Synchronize method. I had the exact same issue as the person who submitted the question. I searched for it and I found it. For whatever reason my brain decided the Synchronize method was gone. In reality, of course, the Synchronize method is not gone, just modified slightly.

Oh, well.

It is, however, worth bringing up because for all of us who have legacy code utilizing threads we wish to recompile with a newer version of Builder, an error will be generated making the Synchronize method appear as though it no longer exists,. The error will look very similar to the following:
Code: Select all
[C++ Error] SomethingOrOther.cpp(81): E2285 Could not find a match for 'TThread::Synchronize(void)'


To find the post, I did a simple search in the forums for "Synchronize", and the post was the second option (right after this one).

Steve.
smays
BCBJ Master
BCBJ Master
 
Posts: 231
Joined: Tue Sep 18, 2007 11:28 pm
Location: Huntsville, AL

Postby rlebeau » Mon Sep 29, 2008 12:55 pm

smays wrote:It is, however, worth bringing up because for all of us who have legacy code utilizing threads we wish to recompile with a newer version of Builder, an error will be generated making the Synchronize method appear as though it no longer exists,. The error will look very similar to the following:

Code: Select all
[C++ Error] SomethingOrOther.cpp(81): E2285 Could not find a match for 'TThread::Synchronize(void)'


That error was introduced in BCB 2006 when the compiler was updated to be more standards-compliant. You have to use the '&' operator now when calling Synchronize, ie:

Code: Select all
Synchronize(&MethodNameHere);


BCB 6 and earlier did not have that restriction.
Remy Lebeau (TeamB)
Lebeau Software
User avatar
rlebeau
BCBJ Author
BCBJ Author
 
Posts: 1501
Joined: Wed Jun 01, 2005 3:21 am
Location: California, USA

Postby AndyBell » Wed Oct 01, 2008 2:35 pm

smays wrote:On the other hand, I really dislike the way the VCLs are made available, I wish I could place it back in the top of the screen like the good old days.


You can do this using DDEVExtensions http://andy.jgknet.de/dspeedup/index.php?page=DDevExtensions

It's free and adds a nice number of other features too.

Andy
AndyBell
 
Posts: 1
Joined: Wed Oct 01, 2008 2:30 pm


Return to General

Who is online

Users browsing this forum: No registered users and 2 guests

cron