Jump to content

C++ Builder


Lena

Recommended Posts

  • 1 month later...
  • 1 month later...
  • 5 weeks later...
  • 3 months later...
  • Administrators

I have some bad news for C++ users. As I told before, initial work for C++ Builder has been started, but my main problem lays somewhere else. I only own licenses for C++ Builder 2007 and 2009. I also hold and active SA for Delphi Enterprise. I contacted Embarcadero to upgrade my SA plan from Delphi to RAD Studio. I was hoping that it be done for a reasonable price, however instead of upgrading my SA plan, Embarcadero is asking me to take a regular upgrade path from Delphi to RAD Studio. This path will cost 2000€.

 

I was speculating that I could pay only the price difference between Delphi SA and RAD Studio SA which is around 250€, but Embarcadero doesn't allow this. Unfortunately, I can't spend 2000€ right now just to get C++ builder. This means all activities on C++ side will be frozen until I find a solution to licensing issue.

 

I will also consider buying an upgrade license for C++ Builder Pro, but I don't know the downsides of using Pro version yet. Does Pro version include full source code + command line compiler?

 

I will post when there are news regarding this.

 

 

Regards,

Farshad Mohajeri

Link to comment
Share on other sites

  • 2 weeks later...

Hi Farshad,

I am new with your great product. I am really very impressed. I used Intraweb before and i have to say, your product is very good. I use RAD studio 2007. I know Delphi, however i feel myself better with C++ Builder. From my experience, making Delphi components C++ compatible is most often very simple. Just rebuild the package with link option: build all C++ files. So I suppose, having C++ 2007 uniGUI components would not be any prfoblem for you. But I am not sure what about your wizzards. If it is not too much work for you, I would really be interested having the chance to test the version for c++ Builder 2007.

Thank you very much for your fantastic work.

Jarek

Link to comment
Share on other sites

  • 2 weeks later...
  • Administrators

Hi Farshad,

I am new with your great product. I am really very impressed. I used Intraweb before and i have to say, your product is very good. I use RAD studio 2007. I know Delphi, however i feel myself better with C++ Builder. From my experience, making Delphi components C++ compatible is most often very simple. Just rebuild the package with link option: build all C++ files. So I suppose, having C++ 2007 uniGUI components would not be any prfoblem for you. But I am not sure what about your wizzards. If it is not too much work for you, I would really be interested having the chance to test the version for c++ Builder 2007.

Thank you very much for your fantastic work.

Jarek

 

Biggest problem here is IDE support. When you create a new uniGUI project, several files and modules are auto-created with auto-generated source code. All these files are generated for Delphi and Pascal. Now we need to generate C++ equivalent of these files/ source codes.

Link to comment
Share on other sites

Well, I realized that I don't need C++ Builder itself to generate C++ header files and other related files, as Delphi already creates them for me. So I can generate and distribute C++ header files without a need for a C++ license.

 

I already started adding IDE support for C++ Builder.

 

Thank you very much that you find time for C++ users!

Link to comment
Share on other sites

Biggest problem here is IDE support. When you create a new uniGUI project, several files and modules are auto-created with auto-generated source code. All these files are generated for Delphi and Pascal. Now we need to generate C++ equivalent of these files/ source codes.

 

Yes exactly, IDE wizzards are not as easy. Some great information to this topic can be found at http://www.gexperts.org/open-tools-api-faq/. Probably you are aware of it. In the past i also had another useful link. If you needed, I can try too find it.

Jarek

Link to comment
Share on other sites

  • Administrators

After some efforts I could see that IDE integration is only half of the problem. 2nd biggest problem here is the fact that automatically generated hpp headers don't compile! C++ doesn't support named constructors so Delphi constructors with same parameter list cause ambiguity in C++. ExtPascal code contains many of such constructors. Other issue is that C++ doesn't call initializaition code in same order as Delphi.

 

Anyway, I managed to fixed most of these issues and compiled and ran a very basic uniGUI app in C++ with manually generated source code.

 

I think the hardest part is past and hopefully we can expect an alpha C++ Builder port with version 0.89.0 or 0.90.0.

Link to comment
Share on other sites

Hi Farshad,

 

thank you very much for your effort. I am really curious how will your c++ version see.

Could you pls mail me pascal constructor sample and a corresponding hpp constructor that cannot be compiled?

With program initialization you are right. Did you check the possibility of using #pragma startup directive?

A good way of dealing with C++ initialization can be seen when viewing fastMM memory manager code, when used under C++ Builder.

Thanks

Jarek

Link to comment
Share on other sites

  • Administrators

Problem here is both with overloaded constructors and overloaded methods.

 

Below code is valid in Delphi:

  	TMyClass = class(TComponent)
  	public
     	constructor A(X: string);
     	constructor B(X: string);
  	end;

 

In C++ both constructors are identical hence not compilable.

 

class PASCALIMPLEMENTATION TMyClass : public TComponent
{
typedef TComponent inherited;

public:
__fastcall TMyClass(UnicodeString X);
__fastcall TMyClass(UnicodeString X);
public:
/* TComponent.Create */ inline __fastcall virtual TMyClass(TComponent* AOwner) : TComponent(AOwner) { }
/* TComponent.Destroy */ inline __fastcall virtual ~TMyClass(void) { }

};

 

I managed to resolve this by adding dummy parameters to constructors wherever needed.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...