Thread: Visual C++ and Borland C++ Builder :: Breakdown

  1. #1
    Registered User
    Join Date
    Nov 2001
    Posts
    1,348

    Visual C++ and Borland C++ Builder :: Breakdown

    Hello.

    I have extensive experience designing and developing applications using Visual C++ and its various Win32 tools including MFC. I have also used Borland C++ Builder, but only on Win32 console projects. I would like to discuss some essential differences including advantages and disadvantages between the two IDE.

    - How would you compare MFC and Win32 API to WinForm (Borland - correct?).

    - Is it possible to access raw Win32 API directly when working under Borland C++?

    - Are there message queues in WinForm? How does it handle messages?

    - How does Borland C++ handle multithreading and multiple processes?

    - What is the future of Visual C++ and Borland C++?

    Thanks,

    Kuphryn

  2. #2
    5|-|1+|-|34|) ober's Avatar
    Join Date
    Aug 2001
    Posts
    4,429
    This seems way to programming oriented to be in General Discussions. Try the tech board or put it in one of the programming forums.

  3. #3
    erstwhile
    Join Date
    Jan 2002
    Posts
    2,227
    It's been a long time since I fiddled around with Borland Builder so please treat these opinions (hobbyist) accordingly.

    >>- How would you compare MFC and Win32 API to WinForm (Borland - correct?).<<

    Assuming by 'WinForm' you mean Borland's c# I can't make any comparison as I have never used Borland's c# tools and I don't have much knowledge/experience of c# anyway. Borland community's c# page may be of some use. If you mean Borland's vcl then, from what I recall, it seemed a lot more systematic and intuitive set of c++ classes for various 'windows stuff' that I found considerably easier to use than mfc. Also it's RAD so gives you vb development speed with c++ power (although that last statement has probably been appropriated from some advertising blurb ). Also Builder comes with a version of mfc so may give the best (or worst) or both worlds. I think that the latest versions of Builder also use stlport.

    >>- Is it possible to access raw Win32 API directly when working under Borland C++?<<

    Yes. You should find a complete set of ms win32api headers with your Borland Builder install; the win32 libs will, of course, be Borland but made (mostly) either from ms libs or windows dll's. Some extra Borland specific object file(s) is/are required (cow32.obj, I think).

    >>- Are there message queues in WinForm? How does it handle messages?<<

    Assuming vcl --> These are wrapped up as far as I recall and I don't know the exact mechanism of handling/dispatch but there are some macros ( MESSAGE_MAP, example of use here) you can use to intercept these handlers if you need to use your own. Window subclassing (ie with SetWindowLong/SetWindowLongPtr) remains a viable option if you require more complete control over window message handling.

    >>- How does Borland C++ handle multithreading and multiple processes?<<

    Don't know. There may be more information with the documentation.

    >>- What is the future of Visual C++ and Borland C++?<<

    *Gazes into crystal ball*

    Sorry, all i'm getting is the winning numbers for next week's lottery draw so nothing useful there.

    BTW Kuphryn, if you don't already know, there are trial versions of C++ Builder 6 and C#Builder that may give you an opportunity to answer some of these questions more completely for yourself.
    CProgramming FAQ
    Caution: this person may be a carrier of the misinformation virus.

  4. #4
    It's full of stars adrianxw's Avatar
    Join Date
    Aug 2001
    Posts
    4,829
    Ken has already covered most. I would only add that the version of VCL I have is not thread safe. It was not designed to be so, thus the visual components need to have synchronisation wrapped around them. This is not difficult, but not built in. Later version may be thread safe - don't know, the version I use is that shipped with Delphi 4, so is getting on a bit now.

    Handling multithreading and multiprocessing with the API routines is exactly the same as with VC++.

    I agree with Ken, VCL is much better thought out then MFC.
    Wave upon wave of demented avengers march cheerfully out of obscurity unto the dream.

Popular pages Recent additions subscribe to a feed