Starting a Project
A project is a collection of files which includes, but is not limited to, project files (.bdsproj), assemblies (.dll), program database files (.pdb), optional resource files (.html, .jpeg, .gif), executables (.exe), and many others that make up an application. Projects are either created at design time or generated when you compile the project source code. To assist in the development process, the Object Repository offers many predesigned templates, forms, files, and other items that you can use to create applications. To create a project, click New from the Welcome Page and select the type of application you want to create, or choose File New Other . To open an existing project, click Project from the Welcome Page or choose File Open Project . This section includes information about:
Types of projects Working with unmanaged codeType of Projects
Depending on the edition of Delphi 2005 that you are using, you can create traditional Windows applications, ASP.NET Web applications, ADO.NET database applications, Web Services applications, and many others. Delphi 2005 also supports assemblies, custom components, multi-threading, CORBA, and COM. For a list of the features and tools included in your edition, refer to the feature matrix on either the Borland Delphi web page or the Borland C#Builder web page.
Windows Applications
You can create Windows applications using Windows Forms to provide processing and high-performance content display. Windows applications can function as a front end to ADO.NET databases. In addition to drag and drop components and visual designers, Borland provides an easy way to create application menus and submenus. The .NET Menu Designers MainMenu and ContextMenu are components that work like editors to let you visually design menus and quickly code their functionality.
ASP.NET Web Applications
You can create Web applications using ASP.NET Web Forms to provide Web access to databases and Web Services. Web Forms provide the user interface for Web applications and consist of HTML, server controls, and application logic in code-behind files. Delphi 2005 lets you drag and drop components and provides in-place HTML editing.
ASP.NET 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. Delphi 2005 simplifies the creation of Web Services by providing methods for creating a SOAP Server application. The .asmx and .dlls files are created automatically and you can test the Web Service within the IDE, without writing a client application for it. When writing a client application that uses, or consumes, a published Web Service, you can use the UDDI Browser to locate and import WSDL that describes the Web Service into your client application.
VCL.NET Applications You can use VCL Forms to create a .NET Windows application that uses components from the VCL.NET framework. Delphi 2005 simplifies the task of building .NET-enabled applications by supporting VCL components that have been augmented to run on the .NET Framework. This eliminates the need for you to create custom components to provide standard VCL component capabilities. This makes the process of porting Win32 applications to .NET much simpler and reliable.
Database Applications
Whether your application uses Windows Forms, Web Forms, or VCL Forms, Delphi 2005 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. The ADO.NET framework data providers let you access MS SQL, Oracle, and ODBC and OLE DB-accessible databases. The Borland Data Providers (BDP.NET) let you access MS SQL, Oracle, DB2, and InterBase databases. You can connect to any of these data sources, expose their data in datasets, and use SQL commands to manipulate the data. Using BDP.NET provides the following advantages:
Portable code that's written once and connects to any supported database. Open architecture that allows you to provide support for additional database systems. Logical data types that map easily to .NET native types. Consistent data types that map across databases, where applicable. Unlike OLE DB, there is no need for a COM/Interop layer.When using VCL Forms and the VCL.NET framework components, you can extend database support even further by using the BDE.NET, dbExpress.NET, and Midas Client for .NET connection technologies.
Model-Driven Applications
Modeling is a term used to describe the process of software design. Developing a model of a software system is roughly equivalent to an architect creating a set of blueprints for a large development project. Like a set of blueprints, a model not only depicts the system as a whole, but also allows you to focus in on specifics such as structural and behavioral details. Abstracted away from any particular programming language (and at some levels, even from specific technology), the model allows all participants in the development cycle to communicate in the same language. Borland's Model Driven Architecture (MDA) describes an approach to software engineering where the modeling tools are completely integrated within the development environment itself. The MDA is designed around Borland’s Enterprise Core Objects (ECO) framework. The ECO framework is a set of interface, classes, and custom attributes that provide the communication conduit between your application and the modeling-related features of the IDE. The ECO features include:
Automatic mapping of the model classes, with their attributes and relationships, to a relational schema. Automatic evolution of schema when the model changes. Specification of the persistence backend. You can choose to store objects in a relational database or in an XML file. Design-time structural validation of the model and its Object Constraint Language (OCL) expressions. Runtime validation of the OCL expressions. An event mechanism that allows you to receive notifications whenever objects are added, changed, or removed.Delphi 2005 IDE leverages the ECO framework to provide an integrated surface on which to develop your application model. The IDE and its modeling surface features include:
Creating model-driven applications as a new kind of project. Creating class diagrams, and manipulating model elements (packages, and classes) directly on the surface. Adding, removing, and changing class attributes and methods on the class diagram. Two-way updating between source code and the modeling surface. Changes in source code are reflected in the graphical depiction, and vice versa. Two-way navigating between model elements and source code. You can navigate from the graphical depiction of a model element directly to its corresponding source code. Similarly, you can navigate from a modeled class in source code directly to its graphical diagram on the modeling surface. Exporting and importing models using XMI 1.1.Note: Not all modeling features are available in all editions of Delphi 2005. To determine the modeling features supported in your product edition, refer to the feature matrix on either the Borland Delphi web page or the Borland C#Builder web page.
Assemblies
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, Delphi 2005 provides templates to create class libraries, control libraries, console applications, Visual Basic applications, reports, text files, and more. These templates are stored in the Object Repository and you can access them by choosing File New Other .
Unmanaged Code and COM/Interop
Unmanaged code refers to applications that do not target the .NET Framework Common Language Runtime (CLR). COM/Interop is a .NET service that allows seamless interoperation between managed and unmanaged code. The COM/Interop service allows you to leverage existing COM servers and ActiveX controls in your .NET applications, and expose .NET components in legacy unmanaged applications. The Delphi 2005 IDE includes tools to help you integrate your legacy COM servers and ActiveX controls into managed applications. Additionally, you can add references to unmanaged DLLs to your project, and then browse the types contained, just as you would with managed assemblies.