Archive for the ‘Delphi 2007’ Category
Posted by jpluimers on 2015/04/21
Especially when using Delphi 2007 on Windows x64 system (8.x, 7, Vista, 2012 Server, 2008 Server, …), the Delphi specific .Targets files used by msbuild are simply installed to the wrong location.
A better warning for this is in my BeSharp.net repository: Run-Dependend-rsvars-From-Path.bat thanks to David Millington who wrote this:
If you copy
- Borland.Common.Targets
- Borland.Cpp.Targets
- Borland.Delphi.Targets
- Borland.Group.Targets
from
- %windir%\Microsoft.NET\Framework\v2.0.50727
to
- %windir%\Microsoft.NET\Framework64\v2.0.50727
then building via the command line works.
The rsvars.bat file is correct.
Note that my batch file checks for all target file sets:
Delphi 2007:
set requiredTargets=Borland.Common.Targets Borland.Cpp.Targets Borland.Delphi.Targets Borland.Group.Targets
Delphi 2009 and up:
set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Deployment.Targets CodeGear.Group.Targets CodeGear.Idl.Targets CodeGear.Profiles.Targets
if %bdsVersion%==8 set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Group.Targets CodeGear.Idl.Targets
if %bdsVersion%==13 set requiredTargets=CodeGear.Common.Targets CodeGear.Cpp.Targets CodeGear.Delphi.Targets CodeGear.Deployment.Targets CodeGear.Group.Targets CodeGear.Profiles.Targets
–jeroen
via [WayBack] QualityCentral: Project compiles fine under IDE, but not using MSBuild.
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, QC, Software Development | 3 Comments »
Posted by jpluimers on 2015/04/07
During any software life cycle, you will want to phase out some code, and most likely want to mark code to be phased out in the future.
So here are two examples on how to do that in C# and in Delphi that just shows the effects of obsoleting/deprecating code.
Read the rest of this entry »
Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 6 Comments »
Posted by jpluimers on 2015/03/24
Paul Thornton posted a nice question on G+ two weeks ago:
Interfaces are great, but they can be a pain to debug. Forgetting one weak link can lead to Access Violation hell. I seem to remember a utility that would let you visualise the links between interfaced objects, but can’t remember what it was called. Anybody know?
Do you have any clever interface debugging tips or tricks?
Mixing object and interface references leads to complex situations, especially when some classes make refcounting go away (not limited to UI components) so refactoring is a good idea, it at all possible:
Lars Dybdahl:
Refactor them away :-)
When the mix of interface reference counting and TObject gets so complex, that the source code is no longer obvious, maintenance costs sometimes become too high and another solution might be better.
Nicholas Ring:
+Lars Dybdahl Totally agree and it is even worse when reference counting is disabled (like adding an interface reference to an UI component).
There is not much tooling, this thread only mentioned RefCountTracer and FastMM:
Steffen Binas:
There is this: https://github.com/AquaSoftGmbH/RefCountTracer
It helps you find memoryleaks, but also could show you if a refcount goes below 0.
Paul Thornton:
This link was very useful. It also points to a good FastMM tutorial.
Which reminded me I totally forgot to post that tutorial on my blog so here it is:
Read the rest of this entry »
Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | 2 Comments »
Posted by jpluimers on 2015/03/11
I missed EKON 16 as both they and we moved outside the regular conference season.
So I missed this session: EKON 16: MSBuild // Speaker Deck that has these GitHub source examples: gingters/EKON16_MSBuild.
Thanks Sebastian Gingter for pointing me at this!
msbuild is used by both Visual Studio and Delphi for building projects, and this session gave me some good ideas to improve the Continuous Integration projects I already had into place.
–jeroen
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Continuous Integration, Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, msbuild, Software Development | Leave a Comment »
Posted by jpluimers on 2015/02/21
This is the way a wiki should work:
List of Delphi language features and version in which they were introduced/deprecated – Stack Overflow.
Thanks Simon Stuart for asking, and many others (especially Johan) for providing the info.
Note the version that is missing (;
–jeroen
Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/02/15
Talking about Delphi 2007 stuff:
I needed to generate a bunch of groupproj files for Delphi 2007 (I wrote about legacy yesterday), but found out that my GenerateGroupProjConsoleProject was generating too good XML.
So here is the change-set:
Allow generating Delphi 2007 .groupproj files (uses a string search/replace hack as Delphi 2007 uses xmlns=”” which you cannot set manually through the normal IXMLNode ways especially not with ADOM).
TODO: verify if/how the GroupProj.xsd can be adopted to this not so nice XML that Delphi 2007 uses.
–jeroen
via jeroenp / BeSharp.net / commit / f7c23ffe4cb1 — Bitbucket.
Posted in Delphi, Delphi 2007, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/02/14
Normal people would give Valentine presents today.
But 20 years ago, Borland thought it was a nice idea to release Delphi. Then a revolutionary new tool and lots of scepticism. Now – after 20 years – still going strong, despite all kinds of funny things that management at Borland, InPrise, etc did and the wild ride the market had.
Happy birthday Delphi!
–jeroen
Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | 2 Comments »
Posted by jpluimers on 2015/02/13
After a hectic week bringing back memories from a long time ago, I remembered the really early Delphi days.
Long before [WayBack] QC2747, back when it was still called AppBuilder, several people – including me – made the wish for an undo/redo functionality on the Delphi compuserve board.
Back then, the argument was that the designer needed to be restructured to do that. Now that it has – to accommodate FMX – and it is time, especially for the vast majority of Delphi users primarily using the designers to get work done.
So my wish, after 20+ years of Delphi use:
Please bring multi-level undo/redo functionality in the Delphi designer (form, datamodule, etc).
–jeroen
Posted in Delphi, Delphi 1, Delphi 2, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, QC, Software Development | 2 Comments »
Posted by jpluimers on 2015/02/02
Because of Delphi sorcery: New dynamic array type in Spring4D 1.2, I updated this article from 2009: Delphi operator overloading: table of operators, names, and some notes on usage and ‘glitches’.
When I wrote the original article in 2009 the in operator wasn’t documented to be overloadable.
It is overloadable, and newer documentation includes it: http://docwiki.embarcadero.com/RADStudio/en/Operator_Overloading_%28Delphi%29.
In addition I clarified a few things better (like not needing to return Boolean for comparison and set operators) and fixed a few typos and links.
The glitches are still there, so I’ve kept those.
–jeroen
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/01/20
This used to be a great Delphi-only feature that I missed in Visual Studio, but I found the downloadable free extension Favorite Documents extension.
It is a by Sergey Vlasov, who has a whole bunch of free and paid Visual Studio add-ins, extensions and tools.
–jeroen
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio and tools | Leave a Comment »