Delphi 2009 is available in three editions. The Professional edition is designed for building desktop and workstation applications. The Enterprise edition includes everything in the Professional edition, and adds support for building client/server and multi-tier database and web applications. The Architect edition includes everything in the Enterprise edition, plus logical and physical database modeling and optimizations from the Embarcadero ER/Studio Developer Edition.
1. 8 ASPects December 2008
made-for-hire,” actually mean, and, of above. While it may seem advantageous can save a huge amount of frustration,
course, abide by the agreement once it’s as a developer to leave an agreement wasted effort, and money in the long term
completed. unsigned, because the default rule typi- by ensuring that any agreement you sign
Be aware of open source restrictions: cally grants ownership to that developer, reflects your understanding of the agree-
“Open-source” does not mean free for remember that your work for a client and ment you negotiated, and that both parties
everyone to use in any way they like. their satisfaction is based on your perfor- understand the terms that they have
Open source contracts are binding, and mance against their expectations. If the agreed to. The price of not having a prop-
will be enforced. If you write code on an client expects sole ownership of a code erly negotiated and signed agreement
open source platform, read the license segment, and you have agreed to it, don’t could mean losing all copyright rights
and abide by its terms. Make the client use the signatory requirements of copy- and control of the code.
aware of any restrictions in their use of right law as leverage after the fact to Chris Shiplett is an associate with Erik
your code that may flow from use of an change the agreement. M. Pelton & Associates, PLLC, and spe-
open-source platform. When in doubt, consult a lawyer: cializes in software development con-
Write it all down and sign it: Each of Lawyers in this situation act as insurance. tracts, trademark and copyright, and
the key components of copyright law Like buying insurance, hiring a lawyer to domain name disputes. He can be
require a written agreement, signed by the review your contract can seem like an reached at chris.shiplett@
parties. Without a written agreement, and unnecessary up-front expense. However, tm4smallbiz.com. Copyright 2008 Erik M.
without the parties’ signature, copyright the up-front cost of consulting with a Pelton & Associates, PLLC.
law defaults to the basic rule described lawyer before you negotiate an agreement
Delphi 2009 Review
by Terry Jepson C++ Builder 2009 product, you can are Type safe. Developers can create a
Wisco Computing choose to install both languages, or just generic TList, and declare what Type it
elphi 2009 is available in three the Delphi portion of the bundle. I de- will contain (integer, string, arrays, re-
D editions. The Professional edition
is designed for building desktop
and workstation applications. The Enter-
cided to install the Delphi portion of the
bundled Delphi C++ Builder 2009.
I’ve been using Delphi since version
1. I’ll provide an overview of the new
cords, objects, and interfaces). This is an
easy way to create and manipulate a TList
of any item type. Adding generics to
Delphi2009.Win32 maintains compatibil-
prise edition includes everything in the
Professional edition, and adds support for Delphi 2009 features, and include my ity with the Delphi.Net platform, first
building client/server and multi-tier data- assessment of the latest version of Delphi. introduced in Delphi2007.Net.
base and web applications. The Architect Installation of Delphi 2009 is faster Anonymous methods are procedures
edition includes everything in the Enter- than previous Delphi versions. Two sur- or functions that do not have declared
prise edition, plus logical and physical prises I encountered during the installa- names. These procedures and functions
database modeling and optimizations tion were that a desktop icon was not can be assigned as a variable or used as a
from the Embarcadero ER/Studio Devel- created and the IDE help files were not parameter to a method. Anonymous
oper Edition. installed during the program installation. methods can be used to extend the life-
Delphi 2009 can be installed on Win- Quick navigation with Windows Explorer time of a value, even if the value goes out
dows Vista, XP, 2000, Server 2003, or corrected these omissions. of scope. These methods capture the heap
Server 2008. The created applications can address of the value, not the actual value.
be deployed on any of these operating Language Enhancements They are similar to ‘closures’ defined in
systems. Delphi 2009 creates pure native other languages.
Win32 applications. Applications created The most requested enhancement Delphi The explanations I found in the help
by Delphi 2009 do not require any .NET developers requested is support for file and on-line were not able to convince
runtime support. The Delphi IDE does Unicode. The default string Type is now me to start using anonymous methods.
require the Microsoft .NET 2.0 runtimes. UnicodeString. All VCL components Existing Delphi language statements can
Applications developed with Delphi have been Unicode-enabled. Unicode be used to obtain the same results as
2009 will not run on Windows 98, 95, support has been added throughout the anonymous methods. At this time I be-
and ME, as these operating systems do IDE. Since there is no compiler switch lieve anonymous methods will make
not support Unicode. Microsoft has previ- for Unicode or non-Unicode, the devel- Delphi code harder to follow, and I can’t
ously dropped support for these operating oper can not use the same source code think of any situation where I would need
systems. Delphi 2009 can coexist on the files to create two different compiled to use them in my current projects.
same computer with earlier versions of versions. Integrated translation tools have
Delphi. been added to help the developer extract Class Explorer
Delphi 2009 can be purchased as a resources and translate their applications
stand-alone product or bundled with into other languages. The Class Explorer (browser) allows the
C++Builder. With the bundled Delphi Generics are lists (collections) which programmer to browse, navigate, and
2. December 2008 ASPects 9
inspect the structure of their code. Classes changed. New Components
(inheritance) and members (fields, meth-
ods, and properties) are viewed in a hier- Build Configuration Management The Microsoft Office 2007 style ribbon
archical tree of objects. The Class Ex- controls include the ribbon interfaces,
plorer can also be used to add fields, A new base (parent) configuration has including ribbon, ribbon application,
classes, methods, and procedures to an been implemented. The base configura- menu bar, combobox, toolbar and tips.
existing class library. tion includes all common project settings You may not distribute applications using
for a project or project group. Common the Delphi ribbon controls without ob-
Resource Manager project settings typically include source taining a license from Microsoft. A li-
code locations, search paths, etc. cense can be requested from Microsoft at
Resource files are used to insert resource Common project settings are inherited http://msdn.microsoft.com/officeui.
types (fonts, text, graphics, cursors, etc.) from parent configurations, and can be The TCategoryPanelGroup contains a
inside an executable file. This process revised as needed for debug, release, and collection of collapsible panels, similar to
protects the resources and reduces the additional developer-created configura- the ‘outlook bar’ control in Microsoft
total number of files to be distributed tions. Subsets of project options, called Outlook. Each collapsible panel can
with an application. option sets, can be quickly copied to new contain other VCL controls.
Prior to Delphi 2009, developers projects and project groups. The TButtonEdit component can
created resource files independently of include glyphs on the left and right side.
their projects. Developers created their rc VCL Enhancements When the image is clicked, the attached
text files, compiled each rc file to create code will be executed.
the resource file, and added the resource All VCL components have been TLinkLabel is a label that enables
filenames to their unit code files. If any Unicode-enabled. Many components links with embedded HTML tags. The
file included in the original rc file was have been enhanced to allow developers OnClickLink event can be used to open a
changed, the developer needed to recreate to take advantage of the new Vista fea- web page in a browser.
the corresponding resource file. tures, like the Aero ‘glass frame’ prop-
The Delphi 2009 IDE includes a new erty. Custom hinting has been added to Existing Component Enhancements
resource manager to add and update the all TControls. Hints can now include a
resources inserted into Windows applica- title and image. Hints can be designed to Images can be placed anywhere on the
tions without creating separate rc files. A have a more modern look instead of being TButton through alignment and padding
new common resource file can now be restricted to the familiar yellow box. properties. Vista ‘Style’ support has been
added to the main project file. This IntelliMouse scrolling support has also added to TButton. This allows TButton to
avoids resource duplication in form files been added. TImage now supports PNG, support the command link and split but-
and reduces the size of the executable. BMP, JPG and GIF formats. This allows ton features of Vista.
Common and form resource files are greater flexibility for user interfaces. Four A text tip, for example ‘Enter pass-
automatically updated during compilation new components have been added. word here’, can be displayed in a TEdit
if any of the included resources were when it does not have focus. When the
3. 10 ASPects December 2008
control receives the focus, the text tip our online documentation. This first installation. I consider help files to be an
disappears. A new NumbersOnly prop- revision may be ugly’ The poor documen- integral part of any program for all users.
erty has been added to limit keyboard tation in the Delphi help file and the And considering I was offered the option
input to number associated characters. A Atozed web site is not helpful to someone to install Rave Reports and Interbase
user-defined password character property who wants to learn VCL for the Web. 2009, it would make sense to me to at
has also been added. least provide the option to install the IDE
Marquee scrolling has been added to DataSnap help files with the installation of the main
TProgressBar. Different Vista styles product.
(Normal, Paused, and Error) are also DataSnap is a complete set of tools for The help file information for both
supported. TListView now supports building scalable, multi-tier applications. Delphi and C++ Builder are merged
placing items in groups. An image can DataSnap is only available with the together. Since I installed the Delphi
also be displayed with the group heading. Delphi Architect and Enterprise editions. portion of the Delphi C++ Builder 2009
Different glyphs for nodes (depending if This COM-free solution enables the bundle, I did not expect to find C++
they are expanded or collapsed) are sup- Delphi developer to write Server Methods information mixed with Delphi informa-
ported by TTreeView. (i.e. Stored Procedures on the middle-tier tion. The additional non-relevant infor-
server). Middle-tier application servers mation causes confusion similar to the
VCL for the Web can be created and connected with thin mixture of Delphi and Kylix help in
clients. previous Delphi versions.
Developers can use a large collection of Poor documentation of COM,
over 70 components to build full-featured Summary Suggestions ActiveX, VCL for the Web, and
AJAX-enabled web applications. VCL DataSnap will prevent developers from
for the Web is the fully-integrated Codegear has done a great job changing using the full potential of Delphi 2009. If
I n t r a We b v e r s i o n 1 0 f r o m Delphi to support Unicode. The transla- developers can not understand new and
www.atozed.com. Web applications tion tools will be appreciated by develop- advanced features, they will not be using
developed with the Professional edition ers wanting to expand their software to the development platform, and not up-
have a limit of 5 connections. There is no global markets. grading to newer versions.
connection limit for applications devel- I believe a number of ‘features’ A lot of my Delphi knowledge has
oped with the Enterprise and Architect (Generics, Anonymous Methods, come from reading supporting third-party
editions. TStringBuilder) were added to Delphi Delphi books. Since that market has
VCL for the Web documentation 2009 for .Net compatibility. These are virtually dried up, Codegear needs to take
consists of a five-page tutorial to create positive features for the developer trying the lead and document their development
the typical ‘Hello World’ web application to have a single source for Delphi Win32 software. CodeGear needs to put a lot
as a proof of concept. At that point, I’m and Net projects. Popular string manipu- more resources into fixing the help sys-
puzzled as to what to next. Delphi help lation libraries (HyperString and tem, which has been a continuous com-
indicates www.atozed.com/intraweb/ FastStrings) are no longer being updated plaint since Delphi 7.
docs/ has more documentation. Their web by their developers. Converting these Terry Jepson is the author of WISCO
documentation duplicates the tutorial, and applications to the new Unicode base will Survey, Gradebook Power, Crossword
most of the other pages haven’t been require extra effort. Power, and more educational software
updated since 2005. Their web site states I felt it was odd that the IDE help files t i t l e s . H e ’ s o n l i n e a t w w w.
‘We are currently working on improving were not installed during the program wiscocomputing.com.
Supporting Members
Ishai Shotten AC&G Software Ltd www.beejack.com
Marcel Feenstra AfterImage www.afterimage.nl
Marc Reidy Anywhere Together Software www.anywheretogether.com
Ive Van Riet asknet AG www.asknet.com
Adriana Iordan Avangate B.V. www.avangate.com
Daniel Burge Burada Inc www.buradainc.com
Jay Palmer Cardiff Consultants Limited www.cardiffsoft.com
Yu Tao CHENGDU YIWO Tech Development Co Ltd www.easeus.com
Christian Robert Ofori-Boateng ChristianSteven Software Ltd www.christiansteven.com
Tarun Tyagi Data Recovery Software www.prodatadoctor.com
David V Thede dtSearch Corp
Alexander Halser EC Software www.ec-software.com
Carlo Lupo Freeware-Archiv.de www.freeware-archiv.de