Borland C# Builder Home ^ Contact Us
Borland C# Builder

Borland C# Builder Developer Resources

News

C#Builder News

Articles

C#Builder Articles

Other
Resources

Web Sites
Newsgroups
Books
Updates & Add-Ins
Tools

Submit Your Site

Google
Searches

"C#Builder"
"C# Builder"
CSharpBuilder
"CSharp Builder"
"C-Sharp Builder"

Other

About This Site /
The Photo

Close Analysis of the C#Builder Demo

This is my close analysis of the features shown in the C#Builder sneak preview demo, comparing it to C++Builder and Delphi, and includes many static screenshots from the demo. For another analysis see Paul Gustavson's article and for other screenshots see Dr.Bob's C#Builder section.


IDE General

The general layout of the IDE is similar in many ways to C++Builder and Delphi with a few exceptions:

  • Forms are edited within the form designer window, shown here docked within the IDE. Let's hope that this is undockable/maximizable to make editing large forms easier. In one way this is better than a floating form window as it is easier to manage forms larger than your screen.
  • The component palette is more compact and shown in vertical groupings.
  • In the demo it appears as though the entire IDE is a set of totally docked windows.

The various windows can be docked in different places. Borland says that it will be highly configurable.

C#Builder IDE Layout

A Browser window with navigation features displaying a "welcome" HTML document is shown in the IDE at the beginning of the demo. This appears to have functionality that integrates with the IDE, such as creating a new project, a history of recent projects, as well as links to external web resources. It is interesting to note that while displaying the Browser the Tool Palette changes to display HTML elements, raising the suspicion that HTML editing will be possible*.

* 07-May-2003: From the product description of C#Builder Professional at shop.borland.com there will be an integrated HTML editor.

C#Builder Browser Window with Welcome Page

The toolbars are fairly standard. The Desktop Settings feature from C++Builder and Delphi is present - this changes to a debug layout when debugging the application in the demo. A Team menu is also shown. Let's hope that this includes team collaboration features such as remote IDE viewing, pair editing, and live developer chat. Another possibility is source code control system integration, likely to be StarTeam if it is.

C#Builder Toolbars

The File, New menu item shows two interesting options, C# Assembly and C# Application.

Side Note on Assemblies

From the Microsoft .NET Framework FAQ:

"An assembly is the primary building block of a .NET Framework application. It is a collection of functionality that is built, versioned, and deployed as a single implementation unit (as one or more files)."

"You can think of an assembly as a collection of types and resources that form a logical unit of functionality and are built to work together."

Basically a .NET Assembly is a reusable, versionable, secure, and self-describing deployment unit for types and resources. It is a collection of one or more files containing an applications code and resources and metadata called a Manifest. This Manifest contains information such as the Assemblies identity and version, a list of the files that make up the Assembly, an Assembly reference list (external dependencies including required versions), exported types and resources, and permission requests.

Assemblies are "super DLL's" (or super EXE's) as Anders Hejlsberg, a Microsoft engineer heavily involved in the design of C#, puts it.

For more information on Assemblies see Simplifying Deployment and Solving DLL Hell with the .Net Framework (MSDN).

Dr.Bob also has some information on .NET Assemblies.

C#Builder File Menu


Project Manager

This looks strangely familiar ;) The References node probably lists Assemblies referenced by the project.

C#Builder Project Manager


Designer

Forms are designed within the Designer window. Visual components appear on the form itself whereas non-visual components appear within a special panel below the form, such as the main menu and open and save dialog components in the screenshot.

C#Builder Designer with WinForm

There are many alignment buttons on the alignment toolbars at the top of the Designer window. Buttons are enabled depending on the selected item on the form.

C#Builder Alignment Toolbars


Code Editor

The code editor shows several features including:

  • Syntax highlighting.
  • XML comments.
  • Code folding (+/- controls to expand and collapse code blocks).
  • Breakpoint setting.
  • Code completion.
  • Code parameter tooltips.

C#Builder Code Editor

Two stages of code completion are shown in the following screenshots.

C#Builder Code Completion

C#Builder Code Completion

Code parameter tooltips.

C#Builder Code Parameter Tooltips


Tool Palette

The tool palette is in my view a much nicer presentation of the available controls than that used in C++Builder and Delphi. The vertical view of what were known as "tabs" makes the controls more accessible. It is also possible to change the layout so that each component is displayed with its name.

A drop-down Categories option appears to be some logical grouping of the available controls.

Controls visible when in the form designer (note the Borland Data Provider components):

C#Builder Designer Tool Palette

Controls visible when the Browser, the Welcome document for example, is displayed:

C#Builder HTML Components Tool Palette

Controls visible when in the code editor. Code snippets is likely to be a collection of short sections of code to insert (like code templates in C++Builder and Delphi). Let's hope that they can be keyboard activated too.

C#Builder Code Snippets Tool Palette


Object Inspector

On the surface this is quite like the object inspector in C++Builder and Delphi. Some differences are evident:

  • The property categories are mostly different.
  • Group properties such as Font and GridSize display a summary of the settings.

These are the form properties:

C#Builder Object Inspector Properties

And a menu item events:

C#Builder Object Inspector Events

The Dock property (akin to the Align property in C++Builder and Delphi) uses a custom property editor displaying a visual representation of the layout.

In C# the form and component property values are stored within the code. There is no separate dfm resource file. Properties can be edited from the object inspector or within the code. Changes are two-way.

C#Builder Properties in Code


Debugging

Breakpoints are set in code as they are in C++Builder and Delphi.

C#Builder Setting Breakpoints

The breakpoints list, event log, thread status and call stack are quite similar to those in C++Builder and Delphi.

Breakpoint list:

C#Builder Breakpoint List

Event log:

C#Builder Event Log

Thread status:

C#Builder Thread Status

Call stack when stopped at a breakpoint within a menu item click event handler:

C#Builder Call Stack


Summary

Well that's all for this sneak preview analysis. If you have any comments or corrections then please contact me.

Thanks to George Kozaderov and Eric Engler for their comments which have helped to shape this article.

Until the next preview!

Jarrod Hollingworth


See Also:

Names and trademarks are copyrighted by their respective owners ^ Copyright © 2004 Backslash. All Rights Reserved. ^ Top