Archive for the ‘Delphi 2005’ Category
Posted by jpluimers on 2015/12/17
DUnit registration can mix TestSuites and TestCases.
Some links:
–jeroen
Posted in Agile, Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 5, Delphi 6, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development, Unit Testing | Leave a Comment »
Posted by jpluimers on 2015/12/01
On the todo list:
Interesting use of an IDE plugin: Copy a string from a “Watch” entry to the clipboard without quotes. – Thomas Mueller (dummzeuch) – Google+
Source: delphi – Can I change the display format for strings in the watch list? – Stack Overflow:
Every now and then I use the watch window to display strings which contain sql statements.Now I select Copy Value from the context menu and get
'SELECT NAME FROM SAMPLE_TABLE WHERE FIRST_NAME = ''George'''#$D#$A
but want
SELECT NAME FROM SAMPLE_TABLE WHERE FIRST_NAME = 'George'
The answer by MartynA has an OTA plugin that could be integrated with something like GExperts.
–jeroen
via: Interesting use of an IDE plugin: Copy a string from a “Watch” entry to the clipboard…
Posted in Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi x64, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/10/22
Recently I bumped into it again with one of the more current Delphi XE* versions and Delphi 2007: the IDE changing the DFM files without reason.
This time it was in a multi-team environment with many branches and DFM merge hell.
A few examples of properties and components getting changes:
Warren PÂ suggests to review your DFM changes before committing to version control and I completely agree: it is the only way to ensure they are indeed unwanted changes.
There are some stop-gab things you could try, but these only partially help
–jeroen
via:
Posted in Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, QC, Software Development | 7 Comments »
Posted by jpluimers on 2015/09/28
I’ve seen this question coming up a few times, and bumped into this at a client recently: the UAC dialog coming up when debugging a 32-bit executable.
This is caused (more details below) by Installer Detection Technology introduced in Windows Vista (with UAC) and tightened in more modern Windows versions.
The solution is to either:
- not include Installer, Patch, Update, Upgrade, Setup, … in your EXE name
- provide a correct manifest to your EXE (getting this right can be hard)
- don’t use x86 as platform target
For software you don’t have source code for, you can alter the manifest with a requestedExecutionLevel element:Â Fixing the way Vista Auto-detects Installers – Ben’s Writing.
A few links on Installer Detection Technology in Windows:
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, .NET CF, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 10 Seattle, 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, Delphi XE8, Development, RemObjects C#, Software Development | 1 Comment »
Posted by jpluimers on 2015/09/02
If ever in need to translate C/C++ headers or code to Delphi, this refernece by Rudy Velthuis – a dentist with a strong interest in programming –Â is the best I could find:Â Rudy’s Delphi Corner – Pitfalls of converting.
It is written in a pretty version agnostic way, and covers the vast majority of conversion topics.
And it has been updated over time numerous times.
–jeroen
Posted in Borland C++, C, C++, C++ Builder, 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, Delphi XE8, Development, Software Development | 10 Comments »
Posted by jpluimers on 2015/07/30
The Default IDE Shortcut Keys – Delphi Programming was a good starting point to find out how to disable column or line blocks.
Since the table there is incomplete (even the Embarcadero documentation is wrong as some shortcuts can turn on and off a mode), here are the relevant shortcuts keys:
| Ctrl + O + C |
Turns on/off blockcolumn selection mode |
Delphi 5 and up |
| Ctrl + O + K |
Turns on/off block selection mode |
Delphi 5 and up |
| Ctrl + O + L |
Selects current line (and turns off block selection mode) |
Delphi 5 and up |
This is especially useful when the block selection is stuck (this happens every now and then: it’s a known bug).
–jeroen
Posted in Delphi, Delphi 10 Seattle, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, 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 | 6 Comments »
Posted by jpluimers on 2015/07/08
Great post by Marjan Venema when you need to migrate your old Delphi programs to the modern Delphi world: [Wayback] 20 resources on migrating to Unicode with Delphi | Software on a String.
I’m glad that some of the links overlap with what I posted and presented in the past at:
Well done Marjan!
–jeroen
Posted in Ansi, ASCII, Delphi, 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, Encoding, Software Development, Unicode | Leave a Comment »
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 »