Delphi evolved from Borland's Turbo Pascal for Windows, itself an evolution with Windows support from Borland's Turbo Pascal and Borland Pascal with Objects, very fast 16-bit native-code MS-DOS compilers with their own sophisticated integrated development environment (IDE) and textual user interface toolkit for DOS (Turbo Vision). Early Turbo Pascal (for MS-DOS) was written in a dialect of the Pascal programming language; in later versions support for objects was added, and it was named Object Pascal.
Download File ……… https://www.google.com/url?hl=en&q=https://lpoms.com/2yLKcE&source=gmail&ust=1719700529013000&usg=AOvVaw3R_vatrEtfRb9Glj8q-ANU
Delphi was originally one of many codenames of a pre-release development tool project at Borland. Borland developer Danny Thorpe suggested the Delphi codename in reference to the Oracle at Delphi. One of the design goals of the product was to provide database connectivity to programmers as a key feature and a popular database package at the time was Oracle database; hence, "If you want to talk to [the] Oracle, go to Delphi".
As development continued towards the first release, the Delphi codename gained popularity among the development team and beta testing group. However, the Borland marketing leadership preferred a functional product name over an iconic name and made preparations to release the product under the name Borland AppBuilder.
Shortly before the release of the Borland product in 1995, Novell AppBuilder was released, leaving Borland in need of a new product name. After much debate and many market research surveys, the Delphi codename became the Delphi product name.[1]
Delphi (later known as Delphi 1) was released in 1995 for the 16-bit Windows 3.1, and was an early example of what became known as Rapid Application Development (RAD) tools. Delphi 1 features included:
Delphi 2, released in 1996, supported 32-bit Windows environments and bundled with Delphi 1 to retain 16-bit Windows 3.1 application development. New Quickreport components replacing Borland ReportSmith. Delphi 2 also introduced:
Used by more Delphi developers than any other single version, Delphi 7 is one of the most successful IDEs created by Borland. Its stability, speed, and low hardware requirements led to active use through 2020.
Delphi 8 (Borland Developer Studio 2.0), released December 2003, was a .NET-only release that compiled Delphi Object Pascal code into .NET CIL. The IDE changed to a docked interface (called Galileo) similar to Microsoft's Visual Studio.NET. Delphi 8 was highly criticized[by whom?] for its low quality and its inability to create native applications (Win32 API/x86 code). The inability to generate native applications is only applicable to this release; the capability would be restored in the next release.
Delphi 2005 was widely criticized[2] for its bugs; both Delphi 8 and Delphi 2005 had stability problems when shipped, which were only partially resolved in service packs. CLX support was dropped for new applications from this release onwards.
On February 8, 2006, Borland announced that it was looking for a buyer for its IDE and database line of products, including Delphi, to concentrate on its ALM line. Instead of selling it, Borland transferred the development tools group to an independent, wholly owned subsidiary company named CodeGear on November 14, 2006.
Delphi 2007 (Delphi 11), the first version by CodeGear, was released on March 16, 2007. The Win32 personality was released first, before the .NET personality of Delphi 2007 based on .NET Framework 2.0 was released as part of the CodeGear RAD Studio 2007 product. For the first time, Delphi could be downloaded from the internet and activated with a license key. New features included:
The CodeGear era produced an IDE targeting PHP development despite the word "Delphi" in the product name. Delphi for PHP was a VCL-like PHP framework that enabled the same Rapid Application Development methodology for PHP as in ASP.NET Web Form. Versions 1.0 and 2.0 were released in March 2007 and April 2008 respectively. The IDE would later evolve into RadPHP after CodeGear's acquisition by Embarcadero.
Borland sold CodeGear to Embarcadero Technologies in 2008. Embarcadero retained the CodeGear division created by Borland to identify its tool and database offerings but identified its own database tools under the DatabaseGear name.
On January 27, 2011, Embarcadero announced the availability of a new Starter Edition that gives independent developers, students and micro businesses a slightly reduced feature set[8] for a price less than a quarter of that of the next-cheapest version. This Starter edition is based upon Delphi XE with update 1.
Embarcadero said that Linux operating system support "is being considered for the roadmap", as is Android, and that they are "committed to ... FireMonkey. ... expect regular and frequent updates to FireMonkey". Pre-2013 versions only supported iOS platform development with Xcode 4.2.1 and lower, OS X version 10.7 and lower, and iOS SDK 4.3 and earlier.
On September 2, 2014, Embarcadero released RAD Studio XE7, which included Delphi XE7 and C++Builder. Its biggest development enabled Delphi/Object Pascal and C++ developers to extend existing Windows applications and build apps that connect desktop and mobile devices with gadgets, cloud services, and enterprise data and API by compiling FMX projects for both desktop and mobile devices. XE7 also included:
On July 18, 2018, Embarcadero released Community Edition for free download. Commercial use limited to earning no more than US$5,000. Similar to Professional, but library source code and VCL/FMX components are more limited.
Up to Delphi 7 there is a .dof file in .ini format for each project.Delphi 5 does not have any entry which might help, but starting from Delphi 6 there is a [FileVersion] section which contains the following values:
So I could look whether the attribute "Type" exists and depending on that decide on Delphi 2005 or 2006.Could somebody please have a look at his Delphi 2005 and 2006 projects and verify this difference? (Or do you maybe have got a better idea?)
Starting with Delphi 2007 there is a .dproj file in a different XML format. The Delphi 2007 format does not contain any version entry I could find, but from Delphi 2009 on there seems to be the following entry:
Also, these numbers look odd to me. Does anybody know whether there are any differences between the various updates of Delphi, e.g. did the original Delphi XE2 release maybe start with 13.0 and with each update increment the number after the dot? But if that's the case, how did Delphi XE get 12.3?
btw: The reason I was looking into this is that I have several times accidentally opened Delphi 2007 projects with a later Delphi version which upgraded it and I had to reverse these changes by hand. This has become so annoying that I wanted to prevent it by registering my own program as handler for .dpr files.
Upto RS10.3 I used to use Andreas Hausladen DDevExtensions to set my version number in my project sources to be the same for all modules (bpl's/exe), but unfortunately Andreas has stopped updating his tool for RS10.4 and later.
Another advantage would be that having one central version number and (c) file is also a lot better in svn change management since I don't have to commit each and every .dproj file because of the version/build number change.
Just had to create these 2 files, set version info in the delphi dproj file to OFF, and then add the specific .rc file to the module's dproj where I want it to appear, in this case a minor delphi project:
Going through each and every project and updating the version information for a particular build configuration is error prone and cumbersome. I have almost 75 projects in a project group. Don't want to click through each and every project and enter the version information for every release.
I'm sure there are lots of homegrown utilities that can update the version in the dproj, an RC or RES file but I like to keep the number of dependencies down. A utility would just be yet another piece of software to install, maintain, etc.
Thanks @emailx45. I started exactly with same idea sometime back. Then I found some issue when we upgraded Delphi version. The *.dproj file changed and my search and replace failed or did not work with different build configurations. I created a tool to search and replace build version at that time. Thanks for your detailed answer. Much appreciated.
So while it would be easy enough to go ahead and copy and paste the ifdef for Delphi 2006 and create a Delphi XE4 block... this seems like an inelegant solution. It's definitely not future proof...every new version you have to go update this file now so some code that wasn't present in Delphi 4 doesn't make someone else's 15+ year old legacy code explode.
So I was wondering if there's a better way to do conditional compilation such that it really does just check whether you have "Delphi 5 or above" when compiling that line, rather than this format that requires updating every single new version of delphi that comes out.
IIRC, Delphi 6 introduced conditional expressions, which are actually what TLama suggested. To make your code work with Delphi versions below that, you have to check for $IFDEF CONDITIONALEXPRESSIONS . If this is not defined, you have to use the old VERxxx scheme to distinguish between the Delphi versions.
For Delphi 6 and higher you can use the built-in constants CompilerVersion and RTLVersion. Which of these you use depends on your code. Whenever you use a new compiler feature test for CompilerVersion. For anything related to the RTL or VCL test for RTLVersion.
It is always a good idea to code against the newest compiler and only use the conditional part for compatibility to older versions. So instead of writing $IF CompilerVersion >= 26.0 write your code in a way that $IF CompilerVersion < 26.0 is used. Thus in the future it is much easier to drop support for older compiler versions.
7fc3f7cf58