Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8 A Borland White Paper

By Bob Swart (aka Dr.Bob), Bob Swart Training & Consultancy (http://www.drbob42.com)
February 2004
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Delphi 7 to Delphi for the Microsoft .NET Framework……….3
VCL, VCL for .NET, and Windows Forms………………………………………………………………4
Delphi 7 language and RTL not available in Delphi for Microsoft .NET…………………………….5
Unsafe code…………………………………………………………………………………………………………………….7
New language features………………………………………………………………………………………………………8
Delphi 7 VCL components not in Delphi for the Microsoft .NET Framework……………………..8
VCL to VCL for .NET…………………………………………………….9
VCL applications……………………………………………………………………………………………………9
VCL for .NET deployment…………………………………………………………………………………….13
Database applications…………………………………………………………………………………………….14
Data Access components………………………………………………………………………………………………….15
FishFact (BDE)……………………………………………………………………………………………………………..16
Frames\Db (Frames and BDE)………………………………………………………………………………………….16
Web applications………………………………………………………..19
Web Services…………………………………………………………….20
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
With the release of Delphi 8 for the Microsoft .NET Framework (a.k.a. Delphi for .NET), Borland has enabled Delphi developers to target another new platform, supporting the needs of its developer base. Previous versions of Delphi can produce Microsoft Win32 applications (and with Borland Kylix, we can build Linux applications using the Delphi language).
Delphi for .NET enables developers to write native .NET applications using Windows Forms or Web Forms as the framework, or using VCL for .NET components.
This paper discusses the migration of Delphi applications for Win32 to the Microsoft .NET Framework using Delphi 8 for the Microsoft .NET Framework. The difference between Windows Forms and VCL for .NET is covered, as well as several sample migrations from existing Delphi Win32 VCL applications to Delphi for .NET native .NET applications.
Delphi 7 to Delphi for the Microsoft .NET Framework
Using Delphi for the Microsoft .NET Framework, we can compile applications that were made in Delphi 7 or previous versions. The Delphi 8 box also includes Delphi 7 to produce Win32 applications. If you want to produce source code that compiles with both Delphi 7 to a Win32 target and with Delphi for .NET to a .NET target, then you might need to use compiler IFDEFs inside your source code.
Delphi 7 contains the following compiler defines:
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Delphi for .NET contains the following compiler defines:
This means that you might want to write code like the following (using the Linux compiler define to complete the Delphi platform alternatives):
project HelloWorld; {$APPTYPE CONSOLE} begin {$IFDEF CLR} // Delphi for .NET writeln(‘Hello, .NET world!’); {$ENDIF} {$IFDEF WIN32} // Delphi 7 writeln(‘Hello, Win32 world!’); {$ENDIF} {$IFDEF LINUX} // Kylix writeln(‘Hello, Linux world!’); {$ENDIF} end.
Note that we now have three possible platforms, so you should not use {$ELSE} to write code that is not suited for one particular platform. Even if you are certain today that the code is right, future support for other platforms might break your code. Always use specific {$IFDEF} sections to write code for a specific platform.
VCL, VCL for .NET, and Windows Forms
When Delphi first shipped in 1995, the component library was called the Visual Component Library. It contained more than just visual components, however. A number of these components are platform-independent, and it was mainly the visual components that were specifically bound to the Windows API and controls.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
When Kylix was introduced, a new library name was used: CLX (Component Library for X-platform), which divided the components in BaseCLX, DataCLX, VisualCLX, and NetCLX. Using Delphi 6 and 7, we can build visual applications using CLX (VisualCLX is cross-platform for Linux and Win32) or VCL (only on Win32).
Now that Delphi has been ported to the Microsoft .NET Framework, the VCL has been ported to .NET as well. This means that we can not only use native Windows Forms to produce .NET applications with Delphi for .NET, but also VCL for .NET to produce .NET applications. Because VCL for .NET uses the same classes and property/events interfaces that the VCL for Win32 uses, Delphi Win32 projects can be migrated to Delphi for .NET with considerable ease, which will be demonstrated in this paper).
CLX, VCL, and VCL for .NET are similar in terms of class names, property/event names, and their usage. They all use an external stream file to place the property and event assignments: for CLX an .xfm file, for VCL a .dfm file, and for VCL for .NET an .nfm file. In contrast, the Windows Forms projects do not rely on a .nfm file, but assign all property and event handler values in source code (hence the need for code folding in the IDE).
The VCL can be seen as a wrapper around the Win32 API, and the VCL for .NET can be seen as a wrapper around the .NET Framework (or more specifically the Windows Forms classes). The move from VCL to VCL for .NET is fairly painless and involves far less work than the move from the Win32 API to the .NET Framework with Windows Forms. And the future move to Longhorn’s XAML (for the new Avalon presentation layer) will also be easier when using VCL than when bound to a native layer such as the Win32 API or Windows Forms. In short, using VCL extends the lifetime of your code.
For more information about VCL, CLX, and Windows Forms, see John Kaster’s article at the Borland Developer Network at http://bdn.borland.com/article/0,1410,29460,00.html .
Delphi 7 language and RTL not available in Delphi for Microsoft .NET
Although the move from VCL to VCL for .NET is fairly painless, several migration issues are related to the differences in the Win32 and .NET platforms. These issues are related to the fact that .NET code is executed by the CLR in a safe, managed way, so all potentially unsafe
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
features and code constructs in Delphi 7 must be replaced by safe counterparts in Delphi for .NET.
Many Delphi 7 language features are no longer available in the Delphi for .NET environment because they are unsafe or could result in unsafe code. The following table contains the most important (most often used) of these language elements, along with suggested Delphi for .NET alternatives.
Delphi 7 language feature
Recommended Delphi 8 feature
absolute, Addr, @
GetMem, FreeMem, ReAllocMem
New and Dispose, or array structures
the Borland Pascal “object” type
class type
Files of any type (including records)
Streams, Serialization, databases
inline assembly or the asm keyword
FillChar, Move
rewrite using for-loops
String or StringBuilder 1
Table 1. Language features
1A string in .NET is not very efficient when you modify it several times (like concatenating substrings), in which case you are better off using the StringBuilder class.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Unsafe code
Delphi 7 can help you prepare Win32 applications for .NET, with a set of three new warnings. Because they are disabled by default, they must be explicitly turned on using the Project | Options – Compiler Warnings tab. The new set consists of warnings for unsafe types, unsafe code, and unsafe typecasts. You can either enable these warnings in project options, orthe preferred approachspecify them at the top of source files as follows:
You might have to add it to the top of every unit to produce the warnings.
For unsafe types, you’ll be notified when you declare or use variables of type PChar, untyped pointers, File of type, Real48, variant records, or when you use untyped var or out parameters. Regarding unsafe code, you’ll get warnings in Delphi 7 when you use absolute, Addr, Ptr, Hi, Lo, Swap, BlockRead, BlockWrite, GetMem, FreeMem, and ReallocMem. Finally, any typecast from a pointer or object to something that it may not be is considered worthy of a warning as well.
When you compile unsafe types, code, or casts using Delphi 7 (with the three warnings enabled), you’ll get compiler warnings in the message view. Note that unsafe variables are mentioned not only when you declare them, but also at every line where you use them.
If you cannot replace the unsafe code, type, or casts with safe Delphi for .NET code, then you can mark your code as being unsafe for the time being, so that it compiles. This involves two steps: first , mark the section of code inside {$UNSAFECODE ON} … {$UNSAFECODE OFF} compiler directives, and then mark the routine or method that holds the unsafe code, cast with the unsafe keyword. 7
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
As a consequence of using the unsafe keyword, the resulting application or package no longer passes PEVerify2. However, the unsafe keyword helps you with a first migration (of unsafe sections), which you can later rewrite using native safe .NET code.
New language features
Delphi for .NET has also introduced several new or extended language features to enhance the way it conforms to the .NET standard, such as sealed classes, final methods, and strict private and protected access specifiers. In order to avoid existing code breaking, the private and protected keywords still allow “friends” from the same source file to access the internals of their classes. To conform to the .NET standard, which specifies that private is closed for anyone except the class instance itself, and protected is open only for the class (instance) itself or its descendants, the keyword “strict” should be used before private and protected. This keyword is not supported by Delphi 7 (and neither are sealed classes or final methods), so if you use them, your source code is usable only with Delphi for .NET (until an update or new version of the Win32 Delphi environment is released with support for the new language features).
Delphi 7 VCL components not in Delphi for the Microsoft .NET Framework
A number of Delphi 7 VCL components are not present in the VCL for .NET shipping with Delphi for .NET. The next section discusses the VCL for .NET details on a component-by-component basis. The following categories are no longer available in VCL for .NET: dbGo for ADO, WebBroker, InternetExpress, WebSnap, and XML support in the form of TXMLDocument, XML Data Binding, and the XML Mapper with the associated TXMLTransform components.
2 PEVerify is a .NET Framework SDK utility that can verify whether or not the code in a .NET assembly or executable manipulates data in inappropriate ways that could corrupt data or compromise system security. Only 100% verifiable safe binaries pass the PEVerify test.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
VCL to VCL for .NET
Most Delphi 7 VCL components appear in the VCL for .NET component set that is included with Delphi for .NET. The Component Palette is replaced by the Tool Palette, but similar categories exist: Standard, Additional, Win32, System, Win 3.1, Dialogs, Data Access, Data Controls, dbExpress, DataSnap, BDE, InterBase, InterBase Admin, Indy Clients, Indy I/O Handlers, Indy Intercepts, and Indy Misc (see Figure 1).
Figure 1. Delphi for .NET IDE with VCL for .NET component categories
Rather than list components available in VCL for .NET, the following is a list of components that are part of the Delphi 7 VCL but are not available in the VCL for .NET of Delphi for .NET.
VCL applications
All components from the Standard tab of the VCL appear in VCL for .NET. Missing from the Additional tabare TChart, TActionManager, TActionMainMenuBar, TActionToolBar, TXPColorMap, TStandardColorMap, TtwilightColorMap, and TCustomizeDlg components. Further investigation shows that TActionManager is listed in the help and in the Borland.Vcl.ActnMan namespace, but not in the Tool Palette. Also note that a free VCL for
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
.NET version of TeeChart “Standard” will be available at the Steema Web site at http://www.steema.com/.
From the Win32 tab, all components appear in VCL for .NET. Missing from the System tab are OleContainer, DdeClientConv, DdeClientItem, DdeServerConv, and DdeServerItem components. Even the Win 3.1 tab from VCL is present in VCL for .NET, with the exception of the TDBLookupList and TDBLookupCombo components. Finally, the Dialogs tab is completely present in VCL for .NET.
Based on these components, we can pick a number of the standard sample applications that ship with Delphi 7 and open them with Delphi for .NET.
We can start with the sample application in the Delphi7\Demos\Ownerlist directory, consisting of four files: FontDraw.dpr, FontDraw.res, FontList.pas, and FontList.dfm. Delphi for .NET can open .bdsproj files (the Delphi for .NET project files) as well as Win32-style .dpr project files. If you open FontDraw.dpr in the Delphi for .NET IDE, you can immediately compile the project to a native .NET executable. You might notice warnings, which are mainly platform-specific (caused because the VCL is based on the Windows platform). But these warnings are nothing to worry about; the resulting application is still a native .NET executable, as can be seen in Figure 2:
Figure 2: OwnerDraw sample application for .NET 10
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Without a single change in the source code, we can migrate this sample project from Delphi 7 to Delphi for .NET. The new executable is a safe executable, which can be proved by running it through PEVerify without errors. When you close the project, a FontDraw.bdsproj is generated, and some configuration settings are written to the FontDraw.cfg file. Fortunately, these new settings do not prevent Delphi 7 from being able to compile the same project.
One change made by Delphi for .NET to the main unit is the addition of the System.ComponentModel unit to the uses clause of the interface section. Slightly modify this uses clause if you want to keep a single-source cross-platform project. Place the System.ComponentModel unit in a {$IFDEF CLR} section, like this:
Windows, Classes, Graphics, Forms, Controls, {$IFDEF CLR} System.ComponentModel, {$ENDIF} StdCtrls;
This single change is something you must perform for all units migrating from Delphi 7 to Delphi for .NET, for which you want to enable compatibility with Delphi 7 (to produce a Win32 executable as well as a .NET executable from the same project source code).
The Ownerlist sample application worked easily and took only one manual step. Let’s take another example, the first one used to demonstrate the capabilities of the Delphi for .NET preview command-line compiler: ConvertIt. The Demos\ConvertIt directory contains five files: ConvertIt.dpr and ConvertIt.res, ConvertItUnit.pas and ConverItUnit.dfm, and a EuroConv.pas unit.
This project also loads immediately in the Delphi for .NET IDE, and results in another native .NET executable (Figure 3).
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Figure 3: ConvertIt sample application for .NET
Let’s end the VCL sample applications with a more complex application in the Delphi7\Demos\AppEvents directory. Again, this sample application works as expected when loaded in the Delphi for .NET IDE and run as a native .NET application (Figure 4).
Figure 4: AppEvents sample application for .NET 12
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
VCL for .NET deployment
Before we move on to sample applications with database support, let’s look at deployment of a Delphi for .NET applicationspecifically, a VCL for .NET application. If we take the last sample application, and look inside the Project Manager, the reference node of the project lists only the System.Drawing.dll assembly. This is the only assembly the AppEvents sample application for .NET requires. All VCL for .NET units are compiled into the executable, which as a consequence is about 1.5 MB.
On the bright side, you need to deploy only the AppEvents executable (the System.Drawing.dll assembly exists on any Microsoft .NET Framework installation), and no additional VCL for .NET assemblies. In some situations, however, it might be more desirable to deploy a smaller AppEvents executable and rely on VCL for .NET functionality in VCL for .NET assemblies that are already (or at the same time) deployed on the target machine. In that respect, .NET assemblies can be seen as runtime packages. Use this functionality when the project is modified frequently and the distribution of a small updated executable is more efficient than the distribution of a larger monolithic execution.
The developer must choose, but the default “setting” for new VCL for .NET applications is to compile executables without linking in the VCL for .NET assemblies (in other words: small executables that need the VCL for .NET assemblies to be deployed as well). When migrating VCL projects to Delphi for .NET, however, the IDE will not add the VCL for .NET assemblies to the list of references, and as a result the VCL for .NET units will be compiled into a monolithic executable.
In order to change a migrated VCL for .NET project, manually add the VCL for .NET assemblies as references to the project (specifically the Borland.Delphi.dll and Borland.Vcl.dll), and recompile the project. This results in an AppEvents sample application for .NET of only 12 KB, albeit one that requires the Borland.Delphi.dll and Borland.Vcl.dll assemblies to be deployed alongside.
Next, we focus on more-difficult applications with database support.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Database applications
Many new powerful technologies in the Microsoft .NET Framework are available to developers. Some of these, such as ADO.NET, make current Win32 technologies either unnecessary or obsolete. This section describes the data access technologies offered by Delphi 7 and explains whether and how they are available to use in VCL for .NET applications with Delphi for .NET.
The following table gives an overview of the available data access technologies in Delphi 7, and lists the VCL for .NET counterparts in Delphi for .NET:
Delphi 7
Delphi 8
Borland Database Engine (BDE) (dBASE, Paradox)
BDE (dBASE, Paradox)
SQL Links
Borland dbExpress (InterBase, Microsoft SQL Server, Oracle, IBM DB2, Informix)
dbExpress (InterBase, SQL Server, Oracle, IBM DB2, Informix, SQL Anywhere)
Borland IBExpress (IBX)
IBExpress (IBX)
Borland dbGo for ADO
not available at this time
Table 2: Data-access technologies
Apart from dbGo for ADO, which was not ported to .NET, we have the choice of BDE (SQL Links is deprecated (see http://bdn.borland.com/article/0,1410,28688,00.html ) but local BDE for dBASE and Paradox tables is still present), dbExpress, and InterBase Express (IBX).
The sample applications from Delphi 7 that illustrate this, and are migrated to Delphi for .NET with little to no modifications, are Demos\Db\FishFact (BDE) and Demos\Frames\Db (BDE). Apart from these two sample applications, we’ll build a small dbExpress application in Delphi 7 and move it over to Delphi for .NET.
Also, for reporting purposes, Rave Reports is available with Delphi for .NET.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
One category of VCL components that wasn’t migrated to VCL for .NET is the Decision Cube. Because the source code is included with Delphi 7 (at least in the Enterprise edition), you can attempt to migrate these components yourself if you desperately need them
Data Access components
In the Data Access category, the TXMLTransform, TXMLTransformProvider, and TXMLTransformClient components are not included with Delphi for .NET. Support for XML in .NET can be found in the System.Xml namespace.
The Data Controls category is complete, with the exception of the TDBChart component.
Although the BDE is still supported in .NET, this only covers the local table components TTable, TQuery, TDatabase, TSession, and TBatchMove, and not the SQL Links specific components TStoredProc, TUpdateSQL, TNestedTable (which are therefore not available in the Tool Palette, although they can be found in the VCL for .NET unit Borland.Vcl.DBTables.pas).
In the dbExpress category, components from VCL are present in VCL for .NET with the exception of TSimpleDataSet.
The InterBase (for InterBase Express) and InterBase Admin categories are complete, with the exception of the TIBEvents component from the InterBase tab, and the TIBInstall and TIBUninstall components from the InterBase Admin tab.
The DataSnap category in VCL for .NET contains only the TDCOMConnection component, and not TSocketConnection, TSimpleObjectBroker, TWebConnection, TConnectionBroker, TSharedConnection, and TLocalConnection. Note that TConnectionBroker can be found in Borland.Vcl.DBClient.pas, TSharedConnection in Borland.Vcl.MConnect.pas, and TLocalConnection in Borland.Vcl.TConnect.pas.
Using the TDCOMConnection component in Delphi for .NET, developers can build DataSnap clients connecting to Win32 Delphi DataSnap servers, which is another way the Win32 and .NET worlds are bridged.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
FishFact (BDE)
The FishFact sample application, using a local BDE Paradox table, available even in Delphi 1, can be opened in Delphi for .NET and compiled without problems. The resulting.NET sample application can be seen in Figure 5. This 16-bit project can be compiled with Delphi for .NET to a native .NET executable without modifications!
Figure 5: FishFact BDE sample application for .NET
When migrating BDE applications with Delphi for .NET to the .NET Framework, you must be aware that the underlying data access architecture is still the Win32 version of the BDE itself. So when it comes to deploying the VCL for .NET application, you must deploy the BDE with it.
Frames\Db (Frames and BDE)
The Frames\Db sample application illustrates the use of BDE tables in combination with the support for Frames in VCL for .NET. Frames, an important feature of VCL for .NET, enable developers to design frames as reusable “jigsaw” GUI elements, each consisting of controls to produce a consistent, reusable, and easily maintainable collection of screen elements.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Delphi 7 projects that rely on frames migrate to Delphi for .NET without problems, as you can see in Figure 6 with the BDE frames sample application.
Figure 6: BDE FishFact and Frames sample application for .NET
The BDE can be used in VCL for .NET applications to work with local dBASE and Paradox files. In order to work with database management systems (DBMSs) such as InterBase, Oracle, Microsoft SQL Server, IBM DB2, or Informix, you need to use a different data- access technology. For InterBase, the choice can be IBExpress (IBX) or dbExpress, but for others, the only VCL for .NET data access technology available is dbExpress.
Many dbExpress sample applications shipping with Delphi 7 are based on CLX for cross-platform compatibility between Delphi 7 and Kylix 3. This means some uses clauses must be 17
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
changed (a bit more work compared to VCL applications), and that we end with an application using IFDEFs that can be compiled with Delphi 7, Delphi for .NET, and Kylix.
In order to build a new dbExpress application for Win32, start Delphi 7 and create a new VCL application. Add a TSQLConnection component from the dbExpress tab of the Component Palette onto the form. Right-click on this component to start the Connections Editor, and edit the settings to connect to the IBLocal InterBase database (username sysdba, password masterkey). Place a TSQLDataSet component and point the SQLConnection property to the TSQLConnection component. Now use the Query Editor to specify the following SQL statement for the CommandText property:
Next, add a TDataSetProvider component on the form, and point its DataSet property to the TSQLDataSet component. Place a TClientDataSet component on the form and point its ProviderName property to the TDataSetProvider component. Finally, add a TDataSource component and point its DataSet property to the TClientDataSet component.
We can now use data-aware controls, such as the TDBGrid component. Make sure the DataSource property is pointing to the TDataSource component. You can get live data at design-time if you open the ClientDataSet (by setting Active to True).
In order to ensure that the changes in the DBGrid are posted back to the InterBase table, write one line of code in the OnAfterPost and OnAfterDelete event handlers, namely:
procedure TForm1.ClientDataSet1AfterPostOrDelete(DataSet: TDataSet); begin (DataSet as TClientDataSet).ApplyUpdates(0) end;
Now, we can compile and run the application. After you’ve saved the project in Delphi 7, you can open the project in Delphi for .NET and compile it to a native .NET executable without errors or warnings. 18
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
For a more complex sample application, you can use a VCL data module, which also migrates to VCL for .NET without problems. Like Frames, Data Modules offer VCL for .NET developers a powerful means to group and manage components that belong together within a single container (either the frame or the data module).
Web applications
Many powerful new technologies are available within the Microsoft .NET Framework. Some of these new technologies, such as ASP.NET, make current Win32 technologies either unnecessary or obsolete. This section discusses the technologies available to build Web server applications offered by Delphi 7, and explains if and how they are available to use in VCL for .NET applications with Delphi for .NET.
The ASP.NET technology of the .NET Framework enables developers to build Web server applications that can be visually designed and have the deployment ease of a CGI executable, while retaining the speed and efficiency of an ISAPI DLL. This means that the need to migrate WebBroker, InternetExpress, or WebSnap applications to the .NET world is expected to be nonexistent. Maintain those web server projects in Delphi 7, and start new development using Delphi for .NET and ASP.NET.
For more information about ASP.NET development with Delphi for .NET, see the BDNtv Flash movie at http://bdn.borland.com/article/0,1410,31890,00.html , which demonstrates the development of an ASP.NET Web application using the Borland Data Provider for InterBase and the Borland DB Web Controls. This BDNtv movie also shows how easy it can be to migrate a Delphi Win32 application to the Microsoft .NET Framework with Delphi for .NET
Delphi 7 included IntraWeb 5, a third-party tool, which is migrated to .NET and available as IntraWeb for .NET. Existing IntraWeb applications can be expected to migrate to IntraWeb for .NET with few to no problems. Note, however, that IntraWeb for .NET is not included with Delphi for .NET.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
The Indy tabs of VCL are all accounted for in VCL for .NET, so VCL applications that use the Indy components should migrate over to VCL for .NET without problems.
Web Services
Delphi 6 introduced support for building and consuming Web Services using Borland’s implementation of the SOAP protocol, which is also used in Kylix 2 and higher (and C++Builder 6). The .NET Framework has support for SOAP and Web Services built in using the ASP.NET technology. As a result, Delphi for .NET makes use of the native .NET functionality to build ASP.NET Web Services and consume Web Services.
Delphi for .NET on-line help contains two sections entitled “Porting Web Service Clients to Delphi 8 for .NET” and “Porting a Web Service Client Application from Delphi 7 to Delphi 8 for .NET” that can be read for more information about migrating Web Service client applications from Delphi 7 to Delphi for .NET.
Three VCL component categories from Delphi 7 that are not immediately available in Delphi for .NET are the ActiveX, COM+, and Servers tabs. Although these components are not installed by default, you can import COM and ActiveX components by adding them as reference to your project, as you can see in the dialog box in Figure 7.
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
Figure 7: COM imports
Note that this means that your managed, safe .NET executable will use COM Interop to use an unmanaged (and potentially unsafe) COM object. This solution can be used for migration purposes, but in the long run aim for a fully managed, safe .NET executable.
Finally, although the Samples category isn’t listed in the Tool Palette of Delphi for .NET, the components can be found in the Demos\Vcl\Samples directory, including the Borland.Vcl.Samples package.
If that’s not enough, you can also use standard .NET controls in VCL for .NET applications. Read an article about doing so at http://bdn.borland.com/article/0,1410,31886,00.html .
From VCL you can migrate to VCL for .NET with considerable ease. For new .NET applications, you can choose between VCL for .NET and Windows Forms. Using VCL for 21
Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
.NET, you can use the BDE, dbExpress, IBX, or DataSnap components. Using Windows Forms, you can choose ADO.NET or Borland Data Provider for .NET components.
For Web development, WebBroker, InternetExpress, and WebSnap technologies are replaced by the ASP.NET framework, which supports ASP.NET Web forms and Web Services. IntraWeb also has migrated to .NET as a third-party solution.
“Delphi 8 ASP.NET Development, and Win32 migration,” John Kaster (presented by Troy Kitch) http://bdn.borland.com/article/0,1410,31890,00.html
“Using standard .NET controls in VCL .NET applications with Delphi 8,” Tim Jarvis and John Kaster http://bdn.borland.com/article/0,1410,31886,00.html
“Overview of the VCL for .NET,” John Kaster http://bdn.borland.com/article/0,1410,29460,00.html
“The Future of the Borland Database Engine (BDE) and SQL Links,” John Kaster http://bdn.borland.com/article/0,1410,28688,00.html
Made in Borland® Copyright © 2004 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other marks are the property of their respective owners. Corporate Headquarters: 100 Enterprise Way, Scotts Valley, CA 95066-3249 • 831-431-1000 • http://www.borland.com • Offices in: Australia, Brazil, Canada, China, Czech Republic, Finland, France, Germany, Hong Kong, Hungary, India, Ireland, Italy, Japan, Korea, Mexico, the Netherlands, New Zealand, Russia, Singapore, Spain, Sweden, Taiwan, the United Kingdom, and the United States. • 21550

Published in: on 24 January 2010 at 5:38 pm  Leave a Comment  
Tags: ,


New! Interoperability and migration support for Microsoft® .NET
New! Delphi compiler warnings and hints for .NET compatibility 􀀗 􀀗 􀀗 􀀗
New! Import any .NET assembly as a COM object 􀀗 􀀗 􀀗 􀀗
New! Use Delphi COM objects in .NET managed applications 􀀗 􀀗 􀀗
New! Delphi™ for Microsoft® .NET prerelease preview
New! .NET preview CIL compiler for the Delphi™ language to
create managed applications
􀀗 􀀗 􀀗 􀀗
New! .NET migration documentation 􀀗 􀀗 􀀗 􀀗
New! ModelMaker technology
New! Model-driven design 􀀗 􀀗
New! Visual modeling and refactoring tool based on
UML™ technology
􀀗 􀀗
New! Native Delphi integration, reverse engineering, and
instant visualization
􀀗 􀀗
New! Apply off-the-shelf design patterns 􀀗 􀀗
New! AToZed Software IntraWeb technology
New! Deploy your application to the Internet, utilizing drag-anddrop
visual Web application development
􀀗 􀀗 􀀗
New! Add interactive content to your Web sites by rapidly and
visually building dynamic server-side HTML Web applications
􀀗 􀀗 􀀗
New! Transparently manages Web application details such as
cookie, session, and user management
􀀗 􀀗
New! Create, debug and maintain Web-based applications
quickly with Application Mode
􀀗 􀀗
New! Support for easy-to-use API for implementing
custom components
􀀗 􀀗
* Delphi 7 Personal Edition is not a Studio product, and it is for noncommercial use only.
Borland® Delphi™ 7 Studio Feature Matrix
New! Nevrona Rave™ technology
New! Powerful Rave Reports Borland Edition visual report
designer and code-based API
􀀗 􀀗 􀀗
New! PDF, HTML, RTF, and text rendering formats 􀀗 􀀗 􀀗
New! Native support for VCL and Borland Component Library for
Cross-platform (CLX™) applications
􀀗 􀀗 􀀗
New! Flexible page-based layout to handle both form and banded
style reports
􀀗 􀀗 􀀗
New! Bold® for Delphi™
New! Maintain less code with a true
Model Driven Architecture™ (MDA™)
New! UML technology: full support for class diagrams, tagged
values, stereotypes, associations (aggregates, compositions),
cardinality, visibility, and mixed transient/persistent elements
and classes
New! Integrated support for Rational Rose® and ModelMaker;
import/export model information from/to Bold® Model Editor
New! Automatic database schema generation using SQL 􀀗
New! Windows XP™ Themes
New! Enable applications to take part of Windows XP™ Themes
with a look that will blend in with your favorite Windows XP theme
􀀗 􀀗 􀀗 􀀗
New! Take full advantage of the new XP look for the Windows®
common controls library (comctrls.dll version 6.0)
􀀗 􀀗 􀀗 􀀗
New! ThemeServices wrap around theme APIs to enable an
application or control to use theme functions transparently
􀀗 􀀗 􀀗 􀀗
Borland® BizSnap™—Web Services with XML technologies
New! UDDI browser to visually locate and import registered
Web Services
􀀗 􀀗 􀀗
New! Automatic UDDI client fail-over support 􀀗 􀀗 􀀗
New! Global XML Architecture (GXA) for Web Services, header
support for Web Services routing, and Web Services Inspection
Language (WSIL)
􀀗 􀀗 􀀗
New! Binary attachments 􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) Rapidly build server-side
W3C-compliant Web Services using SOAP, XML, WSDL,
and more
􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Rapidly build client-side applications that consume W3Ccompliant
Web Services using SOAP, XML, WSDL, and more
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) WSDL wizards and
components mean you can easily access Internet Web Services
and add functionality to your own applications
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) Create applications that
seamlessly interoperate across the Internet with standards-based
Web Services platforms such as Microsoft® .NET, Sun® ONE,
and others!
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional) SOAP communication
wizards and components make building Web Services a snap!
􀀗 􀀗 􀀗
New! (for Delphi 7 Studio Professional Delphi) native SOAP
bindings deliver type and syntax checking with CodeInsight™ and
more with SOAP Web Services
􀀗 􀀗 􀀗
XML Transform Components ( XML<–>dataset, XML<–>XML)
enable your application to translate XML data between XML and
dataset formats easily
􀀗 􀀗
XML Schema transform tools and utilities provide translation
between XML data, DTDs, and XDR schema and datasets
automatically, making XML Schema analysis, creation, and XML
data transformations a snap!
􀀗 􀀗
Native Delphi XML bindings radically simplify XML
programming—XML documents become native Delphi objects
􀀗 􀀗
Avoid vendor lock-in and incorporate data from virtually any XML
source with multiple XML DOM Level 2 support
􀀗 􀀗
XML doc object in the VCL provides fast programmatic access to
new XML formats
􀀗 􀀗
XML Document Objects and native Web Services WSDL bindings
leverage CodeInsight and compiler type-checking
􀀗 􀀗
Borland WebSnap™—the complete Web application design platform
Deploy your Web applications to Microsoft IIS, Netscape,® and
New! Apache™ 2.0! With support for ISAPI, NSAPI, Apache DSO,
and CGI
􀀗 􀀗
WebPage Surface Designers to rapidly build and view your
WebSnap™ application surfaces in HTML and an instantly
updated browser preview of your application
􀀗 􀀗
XML Tree and XSL Tree displays to present any XML and XSL
documents with easy-to-read indentations and syntax highlighting
􀀗 􀀗
Enhanced! Server-side scriptable Web page components to
easily interface WebSnap/NetCLX™ objects with Web site
development teams and scripters
􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Pre-built scriptable Web page components—datasets, login
forms, end-user sessions, and other commonly required Web
application elements
􀀗 􀀗
Page Producers and Dispatchers for servicing standard and XSLtransformed
XML pages, logical pages, and your own custom
adapters and services
􀀗 􀀗
Multiple Web modules in a single project to organize your pages
and your site
􀀗 􀀗
XSL Page Producers for combining XML source data with XSL
transforms to produce full-page outputs to HTML
􀀗 􀀗
Enhanced! Server-side scripting in WebSnap with JavaScript®
and VBScript
􀀗 􀀗
Active script debugging support in WebSnap 􀀗 􀀗
Borland InternetExpress™
XML Web browser tables for high-performance client-cached
XML Web database tables
􀀗 􀀗
XML data from DataSnap™ servers to simplify data exchange 􀀗 􀀗
XML broker for quickly providing XML data for Web
server applications
􀀗 􀀗
DataSnap PageProducer wizard to migrate your applications to
the Internet with XML and HTML 4 for dynamic Web clients
􀀗 􀀗
Web Page Editor for instantly designing HTML 4 Web documents
that deliver dynamic XML data
􀀗 􀀗
Borland NetCLX™ and WebBroker™—compatible, cross-platform Web application development
framework for Windows® and Linux® *
Develop single-source applications for deployment to Web
servers on Windows and Linux® *
􀀗 􀀗 􀀗
Automated Web Debug Server accelerates your Web application
testing cycles
􀀗 􀀗 􀀗
NetCLX Web application framework for high-speed, highthroughput,
cross-platform Web applications compatible
with WebBroker™
􀀗 􀀗 􀀗
NetCLX Web application components for cross-platform
development on Apache, IIS, Netscape, and more, using ISAPI,
NSAPI, Apache DLL and SO extensions, or CGI
􀀗 􀀗 􀀗
WebModules™ for centralized information publishing to
Internet applications
􀀗 􀀗 􀀗
Web application wizard gets you up and running quickly 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
WebDispatcher™ component for issuing rapid responses to
browser requests and adapting any data module to the Web
􀀗 􀀗 􀀗
New! Support for Apache 2.0 Web Server in Delphi
Web technologies
􀀗 􀀗 􀀗
Seamless Internet/intranet wizards and components
WebBridge for an open solution that supports ISAPI, NSAPI,
Apache DLL, and CGI
􀀗 􀀗 􀀗
Page preview with HTML 4 support 􀀗 􀀗 􀀗
Web deployment wizard for deploying thin-client, zeroconfiguration
applications using the Web
􀀗 􀀗 􀀗
Web application wizards make getting started on Web
development a breeze
􀀗 􀀗 􀀗
Exclusive!: ActiveForms™ for building rich GUI forms for Win32®
client applications and browsers
􀀗 􀀗 􀀗
Internet socket components to customize your own
networked applications
􀀗 􀀗 􀀗
Borland® Database Engine (BDE) CAB file for easy distribution of
database applications over the Web
􀀗 􀀗 􀀗
JPEG support 􀀗 􀀗 􀀗
Active Server Object wizard for high-performance ASP
server development
􀀗 􀀗 􀀗
Borland DataSnap™ Web Services-enabled database middleware
New! Royalty-free distribution with unlimited licenses 􀀗 􀀗
Web client, GUI client, and Web Services access to any
supported RDBMS
􀀗 􀀗
SOAP/XML, COM, Web, and TCP/IP access connections
available for maximum network connectivity and flexibility
􀀗 􀀗
Easily build XML/SOAP Web Services interfaces to any
enterprise-class database—Oracle,® Microsoft SQL Server,™
IBM® DB2,® Borland InterBase,® and more!
􀀗 􀀗
Dataset-based architecture for rapid learning curve—use existing
skill sets to scale your applications
􀀗 􀀗
DataSnap support for dbGo,™ BDE, InterBase Express™ (IBX™),
and dbExpress data access architectures
􀀗 􀀗
High availability with object broker fail-over safety to guarantee
your data is ready when you need it
􀀗 􀀗
Load balancing to promote the highest performance even when
under the heaviest loads
􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Distributed data with transaction processing extends the reach of
your applications while maintaining data integrity
􀀗 􀀗
Automatic database constraint propagation brings the business
rules to the client applications for local processing, conserving
server horsepower
􀀗 􀀗
Low-maintenance, thin, and easily-configured client-side
applications to reduce deployment costs
􀀗 􀀗
High-speed database connectivity yields higher performance in
your applications
􀀗 􀀗
Server object pooling maximizes the conservation of resources
on your servers, keeping material costs down
􀀗 􀀗
Supply data to thin-client applications rapidly, efficiently,
and securely
􀀗 􀀗
Remote DataBroker to more easily partition applications 􀀗 􀀗
TransactionResolver for transaction conflict resolution 􀀗 􀀗
Exclusive! Advanced support for Master/Detail Provider
and Resolver
􀀗 􀀗
BDE Resource Dispenser for Microsoft Transaction Server 􀀗 􀀗
Stateless DataBroker for more control in mobile and lowbandwidth
􀀗 􀀗
Server object pooling for complete scalability 􀀗 􀀗
Provider options increase control over how and what information
is transmitted
􀀗 􀀗
Support for CORBA®
New! Borland® Enterprise Server, VisiBroker® Edition 4.5 for
Delphi 7 Studio including CORBA® client and server development
􀀗 􀀗
Wizards to simplify development of CORBA clients and servers 􀀗 􀀗
Borland® Enterprise Server, AppServer™ Edition support for
SIDL—build new rich applications and Web Services with the
Delphi RAD environment that uses EJB™ for AppServer Edition
􀀗 􀀗
Support for simultaneous COM and CORBA objects 􀀗 􀀗
High-performance native Windows® applications
High-performance 32-bit optimizing native-code compiler 􀀗 􀀗 􀀗 􀀗
Easily create reusable dynamically linked libraries (.DLL), COM
controls (.OCX), and stand-alone executables
􀀗 􀀗 􀀗 􀀗
Use and create dynamically loaded packages for maximum
application efficiency
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Inline assembler with support for full Intel® 32-bit x86 instruction
set (including Pentium® Pro, Pentium III, Pentium 4, MMX,®
SIMD, and Streaming SIMD Extensions (SSE and SSE2), and
AMD® 3DNow!™
􀀗 􀀗 􀀗 􀀗
Expression evaluation in compiler directives 􀀗 􀀗 􀀗 􀀗
Custom variants to support your own data types 􀀗 􀀗 􀀗 􀀗
Custom variant data handler for passing variants through
data sets
􀀗 􀀗 􀀗 􀀗
Custom variant in safe arrays 􀀗 􀀗 􀀗 􀀗
Expanded variant support for Int64 and the unsigned types 􀀗 􀀗 􀀗 􀀗
Complex number support via custom variants 􀀗 􀀗 􀀗 􀀗
Deprecated Hint Directive to help improve your
application development
􀀗 􀀗 􀀗 􀀗
Platform and Library Hint Directives to assist in
cross-platform development
􀀗 􀀗 􀀗 􀀗
Borland® Rapid Application Development (RAD) IDE
State-of-the-art IDE with a fully integrated Code Editor and
debugger, view history, easy-to-understand error messages, and
color syntax highlighting
􀀗 􀀗 􀀗 􀀗
New! Code completion for DTD described markup language
including HTML, WML, XHTML, XSL
􀀗 􀀗 􀀗
New! Message helper that hooks error messages
to documentation
􀀗 􀀗 􀀗 􀀗
New! Toggle visible symbols in editor that represent use of
whitespace as tabs or spaces
􀀗 􀀗 􀀗 􀀗
New! Syntax highlighting OpenTools API extension with built in
support for JavaScript, PHP, and INI files
􀀗 􀀗 􀀗
Enhanced! Ability to individually customize editor options for
particular file types
􀀗 􀀗 􀀗 􀀗
New! OpenTools API for code completion and symbol
table queries
􀀗 􀀗 􀀗
Enhanced! Component palette layout for quicker navigation 􀀗 􀀗 􀀗 􀀗
Fully customizable IDE layout with window docking and
floating toolbars
􀀗 􀀗 􀀗 􀀗
Multiple custom Desktop Layout Profiles for total control of your
development environment
􀀗 􀀗 􀀗 􀀗
Object TreeView for quick navigation and manipulation of the
objects in the current designer
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Object Inspector™ Subcomponent References to save
time locating linked components—directly drill-down
into subcomponents
􀀗 􀀗 􀀗 􀀗
Class Completion accelerates creating new object types 􀀗 􀀗 􀀗 􀀗
Packages in project manager 􀀗 􀀗 􀀗 􀀗
RTL package for non-visual development 􀀗 􀀗 􀀗 􀀗
Context-sensitive component palette displays only components
that can be placed on the currently active forms or data modules
􀀗 􀀗 􀀗 􀀗
Environment Variables in search path to enable automatic
location of required files
􀀗 􀀗 􀀗 􀀗
Advanced multi-target Project Manager 􀀗 􀀗 􀀗 􀀗
Data modules for centralized data integrity and business rules 􀀗 􀀗 􀀗 􀀗
Console Application Wizard for quickly writing
text-mode applications
􀀗 􀀗 􀀗 􀀗
RC Files integrated with the Project Manager and compiler 􀀗 􀀗 􀀗 􀀗
Both VCL and CLX™ Visual Form Inheritance and Form Linking 􀀗 􀀗 􀀗 􀀗
Editor Key mapping to fine-tune the editor to the way you work 􀀗 􀀗 􀀗
Project-wide browsing to better understand your code and to
navigate the VCL
􀀗 􀀗 􀀗
DataModule™ designer with Tree View and Data Diagram View to
gain a comprehensive understanding of the data in
your application
􀀗 􀀗 􀀗
Control Panel Wizard makes building control applets fast
and simple
􀀗 􀀗 􀀗
To-do lists to keep your development on schedule 􀀗 􀀗 􀀗
OpenTools API to integrate your favorite tools 􀀗 􀀗 􀀗
AppBrowser™ code editor with symbol hyperlinks and
navigation history
􀀗 􀀗 􀀗
Maximum reusability with Delphi™ object-oriented architecture
Object-oriented, fully extensible component and application
architecture in both VCL and CLX
􀀗 􀀗 􀀗 􀀗
Support for Windows common controls 􀀗 􀀗 􀀗 􀀗
VCL and CLX Visual Form Inheritance and Form Linking to
reduce coding and simplify maintenance
􀀗 􀀗 􀀗 􀀗
Object Repository for storing and reusing forms, DataModules,
and experts
􀀗 􀀗 􀀗 􀀗
Visual Component Library of drag-and-drop reusable components 􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Component Library for Cross-platform of drag-and-drop reusable
components for Windows and Linux*
􀀗 􀀗 􀀗
Code Explorer for an instantly updated class reference for your
application’s unit files
􀀗 􀀗 􀀗
CodeInsight™—speed coding and reduce syntax errors
Code Templates Wizard for simplified code creation 􀀗 􀀗 􀀗 􀀗
Enhanced! Code Templates with the ability to create, modify,
and export templates for any file type
􀀗 􀀗 􀀗 􀀗
Code Completion Wizard to help ensure proper syntax 􀀗 􀀗 􀀗 􀀗
Code Parameter Wizard for displaying procedure, method, and
event parameter lists
􀀗 􀀗 􀀗 􀀗
ToolTip Expression Evaluation for easier debugging 􀀗 􀀗 􀀗
DLL Debugging saves time in creating and debugging DLLs 􀀗 􀀗 􀀗 􀀗
Class navigation short cuts 􀀗 􀀗 􀀗 􀀗
Class completion 􀀗 􀀗 􀀗
ToolTip Symbol Insight 􀀗 􀀗 􀀗
OpenHelp for easily customizing the contents of help 􀀗 􀀗 􀀗
Advanced debugging
New! Multi-tab watch view for logically grouping variables 􀀗 􀀗 􀀗 􀀗
New! Thread naming for easier debugging of multi-threaded
applications to identify threads by user defined name instead of
by thread ID
􀀗 􀀗 􀀗 􀀗
Enhanced! Watch view supporting inplace editing, checkbox
enable/disabling, and the watch names separated from the
values with columns
􀀗 􀀗 􀀗 􀀗
Full-featured debugger with color syntax highlighting 􀀗 􀀗 􀀗 􀀗
ToolTip Expression evaluation 􀀗 􀀗 􀀗 􀀗
New! Added support for multi-target debugging. Working directly
makes DLL debugging easier, providing more complete
debugging control of your application extensions
􀀗 􀀗 􀀗 􀀗
Multiprocess, cross-process, and attach-to-process debugging for
easy tracing through complex applications
􀀗 􀀗 􀀗 􀀗
Temporary Process Options for focused multiprocess debugging 􀀗 􀀗 􀀗 􀀗
Module view 􀀗 􀀗 􀀗 􀀗
Streamlined usability and integration among debug windows and
the editor including clipboard and drag-and-drop support
􀀗 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
Run until return 􀀗 􀀗 􀀗 􀀗
Advanced Breakpoints with DataAware triggers, ToolTips,
actions, and groupings for faster and complete debugging control
􀀗 􀀗 􀀗 􀀗
CPU View for low-level debugging 􀀗 􀀗 􀀗 􀀗
FPU view with support for MMX for enhanced
low-level debugging
􀀗 􀀗 􀀗
Debug spawned processes 􀀗 􀀗 􀀗
Attach to and debug running processes 􀀗 􀀗 􀀗
WinSight® 32 for monitoring Windows messaging 􀀗 􀀗 􀀗
Exclusive! Debug Inspector™ for monitoring component
properties while debugging
􀀗 􀀗 􀀗
Inspector view with fully qualified names 􀀗 􀀗 􀀗
Event log for showing process control messages and debug
output with enhanced log coloring for different event types
􀀗 􀀗 􀀗
Local Variables View 􀀗 􀀗 􀀗
Support for Multiple Evaluators for Borland C++Builder™
􀀗 􀀗 􀀗
Easier debugging with DCUs and debug symbol search paths 􀀗 􀀗 􀀗
Remote Process debugging for distributed development 􀀗 􀀗
Delphi™ TeamSource for scaling RAD to your entire development team
Maintain development productivity while protecting your
source code
􀀗 􀀗
Easily manage source code change in large distributed
development teams
􀀗 􀀗
Automatic reconciliation greatly simplifies the task of
synchronizing developer changes with the master archive
􀀗 􀀗
Be in command of changes posted to the master archive with
comprehensive history tracking and publishing
􀀗 􀀗
Simplify the management of the milestones in your project with
Source Code Bookmarks
􀀗 􀀗
Support for PVCS® and other versioning engines with modular
version controllers
􀀗 􀀗
Simplifying international development
Comprehensive support for bi-directional text (left to right,
right to left)
􀀗 􀀗 􀀗 􀀗
Multibyte-enabled development environment 􀀗 􀀗 􀀗 􀀗
Multibyte-enabled VCL 􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Dynamic Language switching at runtime 􀀗 􀀗 􀀗 􀀗
Resource DLL Wizard to kick-start the translation of
your application
􀀗 􀀗
Delphi Form (DFM) editing without source code 􀀗 􀀗
Translation Repository to facilitate the reuse of translated items 􀀗 􀀗
RC Translator to seamlessly integrate external components into
the translation
􀀗 􀀗
DFM Translator to seamlessly integrate Delphi form translation 􀀗 􀀗
Translation and Localization Manager to simplify localization of
your applications
􀀗 􀀗
RADical visual development
Visual Component Library (VCL)
VCL native components for Rapid Application Development 300+ 300+ 225+ 85+
New! Support for Windows XP Theme to modernize the look
of your applications
􀀗 􀀗 􀀗 􀀗
Windows® 2000-style Shell Control examples to modernize
your interface
􀀗 􀀗 􀀗 􀀗
Component Interface Reference architecture to surface
Component Interfaces in the Object Inspector
􀀗 􀀗 􀀗 􀀗
TdateTime extensions accelerate your date and time calculations 􀀗 􀀗 􀀗 􀀗
SubComponent classes combine commonly mixed components
for greater utility, and they speed the creation of user interfaces
􀀗 􀀗 􀀗 􀀗
Conversion unit simplifies measurement conversions 􀀗 􀀗 􀀗 􀀗
Visual Component creation 􀀗 􀀗 􀀗 􀀗
Package Manager to easily control the contents of custom
component packages
􀀗 􀀗 􀀗 􀀗
Modern UI features: docking, Intellimouse® support, minimum and
maximum component sizing constraints, and border anchors in
visual components
􀀗 􀀗 􀀗 􀀗
Action List for managing and directing commonly used code in
an application
􀀗 􀀗 􀀗 􀀗
Windows 98/Me/2000 support for Multi-Monitor, MonthCalendar,
PageScroller, and Flat Scrollbars
􀀗 􀀗 􀀗 􀀗
Owner Draw support in the Property Editors for simplifying
display of property choices
􀀗 􀀗 􀀗 􀀗
Support for Advanced Custom Draw functions for increased
control over the Windows API
􀀗 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Action MainMenu and Action ToolBar components for
sophisticated and centrally controlled User Interface design with
dynamic Action Manager-driven UI surfaces
􀀗 􀀗 􀀗
Action Manager provides central management of your actions
and self-configuring dynamic User Interfaces, taking the tedium
out of UI design
􀀗 􀀗 􀀗
ActionBands™ customization manager gives your end-users total
control over ActionBands UI configurations at runtime!
􀀗 􀀗 􀀗
Windows NT® service applications 􀀗 􀀗 􀀗
Package Collection Editor 􀀗 􀀗 􀀗
ControlBar for creating floating toolbars in GUI applications 􀀗 􀀗 􀀗
Frames for building and reusing compound components 􀀗 􀀗 􀀗
Web browser component for integrating HTML browsing into
your application
􀀗 􀀗 􀀗
Set of Microsoft Office automation components to quickly
integrate your applications with Office applications such as Word,
Excel, and Outlook®
􀀗 􀀗 􀀗
CLX™ (Component Library for Cross-platform) development on Windows®/Linux®*
More than 160 CLX native components for Rapid Application
Development on Windows and Linux*
􀀗 􀀗 􀀗
BaseCLX™ RTL classes and components 􀀗 􀀗 􀀗
VisualCLX™ native GUI components and data-aware
visual controls
􀀗 􀀗 􀀗
VisualCLX GUI display components—Form, EditBox, Label,
Grids, Image, Bevels, Listbox, ComboBox, ListView, TreeView,
ProgressBar, and more
􀀗 􀀗 􀀗
VisualCLX GUI DataAware components—Navigator, EditBox,
Label, Grids, Image, Listboxes, Checkbox, RadioGroup,
LookupLists, and more
􀀗 􀀗 􀀗
VisualCLX GUI input components—Menus, PopupMenus,
Buttons, Checkboxes, RadioButtons, SpeedButtons,
SystemTimer, Sliders, and more
􀀗 􀀗 􀀗
VisualCLX GUI control components—Toolbars, Scrollbars,
Controlbars, Splitters, GroupBoxes, TabControls, PageControls,
StatusBars, and more
􀀗 􀀗 􀀗
Common CLX GUI dialogs—Open, Save, Font, ColorPicker,
Find, and Replace
􀀗 􀀗 􀀗
DataCLX™ highly scalable data-access components 􀀗 􀀗 􀀗
* Compliling applications for Linux® requires Kylix.™
Borland® Delphi™ 7 Studio Feature Matrix
Borland® Kylix™ 3 IDE for the Delphi™ language
New! Borland Kylix™ 3 Enterprise IDE for the Delphi language 􀀗 􀀗
New! Borland Kylix 3 Professional IDE for the Delphi language 􀀗
Borland source code
VCL source code 􀀗 􀀗 􀀗
CLX source code 􀀗 􀀗 􀀗
Property Editor source code 􀀗 􀀗 􀀗
Database architecture for connecting to corporate data
Highly scalable DataCLX™ database development architecture
The Delphi DataSet Abstraction layer makes database
programming easy, from local flat files to the most
powerful RDBMS
􀀗 􀀗 􀀗
Produce cross-platform applications with flexible data-aware
controls that are single-source between Delphi on Windows and
Kylix on Linux!*
􀀗 􀀗 􀀗
ClientDataSet-maintained aggregates and parameter support 􀀗 􀀗 􀀗
Advanced application-side transaction caching to optimize
RDBMS server connectivity
􀀗 􀀗 􀀗
DataSetProvider for flexible binary- and XML-distributed
data connectivity
􀀗 􀀗 􀀗
Provider Optional Parameters, calculated fields, and
field properties
􀀗 􀀗 􀀗
Master/Detail Provider and Resolver support 􀀗 􀀗 􀀗
On-demand Blobs 􀀗 􀀗 􀀗
MyBase™ XML Data Briefcases for transparent mobile and
low-bandwidth connectivity support
􀀗 􀀗 􀀗
CommandText property for building custom queries at client side 􀀗 􀀗 􀀗
Broad range of data-access options—get access to data your application needs
dbExpress for ultra high-performance native SQL RDBMS access 􀀗 􀀗 􀀗
Borland Database Engine (BDE) 5.1.1 􀀗 􀀗 􀀗
IBX for Direct-API access to Borland InterBase® 􀀗 􀀗 􀀗
All Delphi data-access options use common DataSet/DataCLX
Programming Model—use any data-access method with one
skill set
􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
dbGo for ADO 2.5 direct access to any ADO-compliant dataset,
from office applications to RDBMS
􀀗 􀀗 􀀗
Open database architecture—connect to all your data
Access, FoxPro,® Paradox,® and dBase® drivers for high-speed
access to desktop and LAN database systems
􀀗 􀀗 􀀗
Complete ODBC connectivity 􀀗 􀀗 􀀗
BDE API for direct open access to any database engine 􀀗 􀀗 􀀗
Support for autorefresh 􀀗 􀀗 􀀗
TCustomConnection class to easily integrate third-party
database solutions
􀀗 􀀗 􀀗
SQL links native drivers with unlimited deployment license for
InterBase, Oracle, Sybase,® Informix,® Microsoft SQL Server,
and DB2
􀀗 􀀗
Integrated database development tools—simplify client/server development
New! TSimpleDataSet to simplify use of dbExpress drivers 􀀗 􀀗 􀀗
New! ClientDataSet actions to simplify synchronization of
database actions with user interfaces
􀀗 􀀗 􀀗
Data-aware components to build powerful database applications 􀀗 􀀗 􀀗
DB Control Grid 􀀗 􀀗 􀀗
Cached updates for increased server responsiveness 􀀗 􀀗 􀀗
Database desktop for creating and managing Paradox and
dBase tables
􀀗 􀀗 􀀗
Database Explorer to visually browse and manage tables,
aliases, and indices
􀀗 􀀗 􀀗
Scalable Data Dictionary to maintain data integrity 􀀗 􀀗 􀀗
DBGrid support for Nested Tables, ADTs, Array and
Reference fields
􀀗 􀀗
SQL Explorer to visually manage server-specific meta-data,
including stored procedures and triggers
􀀗 􀀗
SQL Monitor to test, debug, and tune SQL applications for
optimal performance
􀀗 􀀗
SQL Builder for writing complex SQL easily 􀀗 􀀗
Data Migration Wizard for rapid upsizing and application scaling 􀀗 􀀗
dbExpress native cross-platform database connectivity—access all your data at extreme speed
Multiple transactions on a single connection 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
dbExpress high-performance database driver interface for open
access to any database engine
􀀗 􀀗 􀀗
Single-file distribution of dbExpress applications! 􀀗 􀀗 􀀗
High-performance database drivers
New! dbExpress driver for Microsoft SQL 2000 􀀗 􀀗
dbExpress drivers for InterBase, MySQL™ 􀀗 􀀗 􀀗
BDE local drivers for Paradox, dBase, FoxPro, Access 􀀗 􀀗 􀀗
dbExpress drivers for Oracle, DB2, and Informix 􀀗 􀀗
BDE SQL links for Oracle, Microsoft SQL Server, IBM DB2,
Informix, Sybase, and InterBase *
􀀗 􀀗
Borland MyBase™ personal XML database engine
Database Engine-in-a-component design for lightweight
single-file application distribution
􀀗 􀀗 􀀗
XML file database for complete simplicity and inter-operability 􀀗 􀀗 􀀗
Fast In-memory table performance 􀀗 􀀗 􀀗
Zero configuration for instant setup and simple
application distribution
􀀗 􀀗 􀀗
Small footprint—less than 300k linked in executable or 0k with
shared packages
􀀗 􀀗 􀀗
ANSI SQL 92 Expression Syntax for live filtering and aggregation 􀀗 􀀗 􀀗
Linkable master/detail table relationships 􀀗 􀀗 􀀗
ClientDataSet based with transparent scalability to dbExpress
and DataSnap for unlimited scalability
􀀗 􀀗 􀀗
Import SQL query results from any dbExpress RDBMS into local
MyBase XML tables
􀀗 􀀗 􀀗
Support for all popular data types including Blobs 􀀗 􀀗 􀀗
Advanced Borland InterBase® support
InterBase 6.5 support including IBX native API components 􀀗 􀀗 􀀗
InterBase 6.5 five-user development license to build and test
remote multi-user SQL applications
􀀗 􀀗
InterBase 6.5 two-user development license to build and test
local multi-user SQL applications
* dbExpress, a SQL driver architecture, will replace BDE SQL Links―see
Borland® Delphi™ 7 Studio Feature Matrix
Documentation, examples, and online help
Comprehensive online documentation for quick reference 􀀗 􀀗 􀀗 􀀗
Printed developer documentation for offline consulting 􀀗 􀀗 􀀗 􀀗
Sample applications to learn from and get started quickly 􀀗 􀀗 􀀗 􀀗
COM/ActiveX®/COM+ features
Automatic COM+ object setup with configuration attributes for
simplified COM+ object deployment
􀀗 􀀗 􀀗
Event object wizards speed linking to COM+ events and VCL
support for COM+ event registration
􀀗 􀀗 􀀗
Transaction objects take advantage of the latest transaction
control services in Windows
􀀗 􀀗 􀀗
Dual MTS/COM+ support for transaction objects 􀀗 􀀗 􀀗
Transaction datamodule for internal segregation of COM+
object elements
􀀗 􀀗
ActiveInsight™—an enterprise component foundry for maximum reusability
Active document support 􀀗 􀀗 􀀗 􀀗
COM/interfaces for language interoperability 􀀗 􀀗 􀀗 􀀗
Full Windows 95/98/Me/NT/2000 support for OLE Automation
Controllers and Servers
􀀗 􀀗 􀀗 􀀗
Runtime component packages for easily updated, small
application executables
􀀗 􀀗 􀀗 􀀗
Visual component creation for instantly creating
component templates
􀀗 􀀗 􀀗 􀀗
One-step ActiveForms to deliver applications over the Web 􀀗 􀀗 􀀗
Microsoft® ActiveX®
One-step industry-standard ActiveX® components for
maximum reusability
􀀗 􀀗 􀀗
Advanced Type Library Editor with complete support for
MS IDL editing
􀀗 􀀗 􀀗
Support for Automation Object event handling 􀀗 􀀗 􀀗
COM Object Wizard 􀀗 􀀗 􀀗
ActiveX® Control Data binding 􀀗 􀀗 􀀗
Support for sparse vtables to support VB servers 􀀗 􀀗 􀀗
Import COM servers as components to develop visually 􀀗 􀀗 􀀗
Borland® Delphi™ 7 Studio Feature Matrix
Third-party component solutions
Nevrona INDY—Internet Protocol Component Suite including
HTTP, FTP, SMTP, POP3, and more
􀀗 􀀗 􀀗
“Delphi Companion Tools” CD includes numerous third-party
components and tools
􀀗 􀀗 􀀗
TeeCharts 􀀗 􀀗 􀀗
InstallShield® MSI Lite 􀀗 􀀗 􀀗
InterBase 6.5 􀀗 􀀗 􀀗
Commercial development license for professional software sales 􀀗 􀀗 􀀗
* Compiling applications for Linux® requires Kylix.™
Made in Borland® Copyright © 2002 Borland Software Corporation. All rights reserved. All Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation in the
United States and other countries. Microsoft, Windows, and other Microsoft product names are trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other marks
are the property of their respective owners. • 13305.1

Published in: on 24 January 2010 at 2:15 pm  Leave a Comment  
Tags: , ,