Starting a Project - Overview

From RAD Studio
Jump to: navigation, search

Go Up to Getting Started with RAD Studio

A project is a collection of files that is used to create a target application. This collection consists of the files you include and modify directly, such as source code files and resources, and other files that RAD Studio maintains to store project settings, such as the .dproj (Delphi) or .cbproj (C++Builder) project file. Projects are created at design time, and they produce the project target files (.exe, .dll, .bpl, and so on) when you compile the project.

When you open the IDE, a default project group is created at the root of the Projects Window. Applications, forms, units, and other files that you create in the IDE are added to the default project group. You can add projects to the project group by right-clicking the project group (ProjGroupNew.png) in the Project Manager and selecting a context menu command such as Add New Project or Add Existing Project.

To assist in the development process, the Object Repository offers many pre-designed templates, forms, files, and other items that you can use to create applications. You access the Object Repository by choosing File > New > Other and selecting an item.

  • To create a project, choose File > New > Other.
  • To open an existing project, select from the list of Recent Projects or Recently Opened Projects on the Welcome Page or choose File > Open Project.

Types of Projects

Depending on the edition of RAD Studio that you are using, you can create traditional Windows applications, multi-device applications, Web applications, database applications, Web Services applications, and many others. RAD Studio also supports assemblies, custom components, multi-threading, and COM. and multi-threading. For a list of the features and tools included in your edition, refer to the feature matrix on either the Embarcadero Delphi web page or the Embarcadero C++Builder web page.

VCL and Other Applications for Windows

You can create Windows applications using the VCL (Visual Component Library), which provides an extensive library of components and functions that you can choose for your project or form. In addition to traditional uses for Windows applications, a Windows application can be used with constructs from the .NET framework. For instance, a Windows application can function as a Web Server application.

Multi-Device Applications (FireMonkey)

You can create multi-device applications using the FireMonkey component library, which provides an extensive library of multi-device components and functions that you can use for your projects destined for:

  • macOS systems
  • iOS devices
  • Android devices

For example, you can use the run-time library to implement device tethering of applications using Bluetooth technology.

See Multi-Device Applications for more information.

Web Services Applications

You can create Web Services applications that deliver content, such as HTML pages or XML documents, over the Web. Web Services is an Internet-based integration methodology that allows applications to connect through the Web and exchange information using standard messaging protocols.

RAD Studio simplifies the creation of Web Services by providing methods for creating a SOAP Server application. The .dll files are created automatically, and you can test the Web Service within the IDE, without writing a client application for it.

Database/Connectivity Applications

Whether your application uses Web Forms, VCL Forms, , or FireMonkey forms, RAD Studio has several tools that make it easy to connect to a database, browse and edit a database, execute SQL queries, and display live data at design time.

FireDAC is our premier database solution, which offers unparalleled power and connectivity.

Some other new technologies we offer include REST, JSON, and RAD Server (EMS).

dbExpress allows you to connect to Interbase, Oracle, MS SQL, Informix, DB2, Sybase, and MySQL databases. You can also write database drivers by extending the classes in the dbExpress framework. You can use both native and managed code.

Modeling Projects

UML modeling is a term used to describe the process of object-oriented design of software systems in terms of graphical UML diagrams. Developing a UML model of a software system is roughly equivalent to creating a set of blueprints for a large development project by an engineer. Like a set of blueprints, a UML model not only depicts the system as a whole, but also allows you to focus on specifics such as structural and behavioral details. Abstracted away from any particular programming language (and at some levels, even from specific technology), the UML model allows all participants in the development cycle to communicate in the same language.

The Modeling supports an approach to software engineering where the UML modeling tools are completely integrated within the RAD Studio development environment. The Modeling features are designed around a set of interfaces, classes, and custom attributes. This approach provides the communication conduit between the source codes of a software system being programmed in the IDE and its UML model being concurrently designed in the IDE's Modeling feature.

The Modeling works in the context of a modeling project. The Modeling extends an ordinary RAD Studio project, adding to it files describing UML diagrams used in the modeling project. The Modeling adds references to these modeling files into modeling project files. The Modeling works with the implementation and design modeling project types:

  • Implementation project -- Implementation projects are language-specific projects. Implementation projects support only UML 1.5 models. An implementation project file specifies the Delphi or C++ source code files and the files of UML diagrams created in this project. You can create UML 1.5 models for Delphi projects. The file name extensions of implementation project files are .dproj (for Delphi projects).
  • Design project -- Design projects are language-neutral and comply with one of the UML 1.5 or UML 2.0 specifications. The file name extension of design project files is .tgproj.

The RAD Studio IDE leverages the Modeling features to provide an integrated surface on which to develop your application's UML model. The Modeling features include:

  • Creating projects that support UML modeling and activating UML modeling support for existing projects.
  • Creating all supported types of UML modeling diagrams and manipulating model elements (diagrams, packages, classes, links, and others) directly in the Diagram View or Model View.
  • Directly adding, removing, and changing attributes, operations, data types, and other class members on class diagrams in the Diagram View, or using appropriate nodes in the Model View.
  • Class diagrams provide two-way synchronization between the language-specific source code and the UML model. Changes in source code are immediately reflected in the graphical depiction and vice versa.
  • Two-way navigation between model elements and the source code. You can navigate from the graphical depiction of a model element in the Diagram View or Model View directly to the source code implementing this model element. Similarly, you can navigate from a class in the source code directly to its graphical diagram in the Diagram View.
  • Exporting and importing UML models using the XMI format.
Note: Not all Modeling features are available in all editions of RAD Studio. To determine the Modeling features supported in your product edition, refer to the feature matrix on the Embarcadero Delphi web page.


An assembly is a logical package, much like a DLL file, that consists of manifests, modules, portable executable (PE) files, and resources (.html, .jpeg, .gif) and is used for deployment and versioning. An application can have one or more assemblies that are referenced by one or more applications, depending on whether the assemblies reside in an application directory or in a global assembly cache (GAC).

Additional Projects

In addition to the project types described above, RAD Studio provides templates to create class libraries, control libraries, console applications, reports, text and HTML files, and more. These templates are stored in the Object Repository and you can access them by choosing File > New > Other.

See Also