Thanks to Nick Hodges for having Delphi-losophy | Flotsam and Jetsam #88 point me to GoF Patterns in Delphi | Implementations of the famous Gang of Four Design Patterns in Delphi language.
–jeroen
Posted by jpluimers on 2015/08/20
Thanks to Nick Hodges for having Delphi-losophy | Flotsam and Jetsam #88 point me to GoF Patterns in Delphi | Implementations of the famous Gang of Four Design Patterns in Delphi language.
–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 | 2 Comments »
Posted by jpluimers on 2015/08/19
29458_firedac_xe4_update_2_for_rad_studio_delphi_c_ent_ult_arch.zip from a registered Delphi XE4 or higher license: http://cc.embarcadero.com/item/29458:
FireDAC_8.0.5.3365.exe.FireDAC_8.0.5.3365.exe with the /showide parameter as described in http://support.embarcadero.com/article/42970:
FireDAC_8.0.5.3365.exe /showide
nextnextC:\Program Files (x86)\Embarcadero\FireDAC, then press nextnextnextInterbase / Firebird server as then you have to provide the credentials for the server), then press nextEmbarcadero FireDAC, then press nextinstallfinish, then read the readme
The installer automatically installs FireDAC in the Delphi XE4 and C++ Builder XE4 IDEs. For older versions of the IDEs, you can run the installer with the /SHOWIDE command line parameter.
To fix this when starting Delphi:
[Window Title] Error [Content] Can't load package C:\Users\Public\Documents\RAD Studio\5.0\Bpl\AnyDAC_Dcl_D11.bpl. The specified module could not be found. Do you want to attempt to load this package the next time a project is loaded? [Yes] [No]
The actual BPL sometimes is in C:\Users\<username>\AppData\Local\Documents\RAD Studio\5.0\Bpl\AnyDAC_Dcl_D11.bpl
The cause is that the BPL gets loaded from %BDSCOMMONDIR% which on some systems points to
%PUBLIC%\Documents\RAD Studio\5.0and on others points to
%LOCALAPPDATA%\Documents\RAD Studio\5.0This seems to be the case on machines where more different Windows users are using Delphi.
The installer does not fully recognize this distinction, so copies the BPL to %LOCALAPPDATA%\Documents\RAD Studio\5.0\Bpl and registers it as being in %PUBLIC%\Documents\RAD Studio\5.0\Bpl.
On these machines there is a difference between the definition of BDSCOMMONDIR in these registry keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
C:\Users\Public\Documents\RAD Studio\5.0HKEY_CURRENT_USER\Environment
C:\Users\<username>\AppData\Local\Documents\RAD Studio\5.0reg delete "HKCU\Software\Borland\BDS\5.0\Known Packages" /v "%PUBLIC%\Documents\RAD Studio\5.0\Bpl\AnyDAC_Dcl_D11.bpl" /f reg add "HKCU\Software\Borland\BDS\5.0\Known Packages" /v "%BDSCOMMONDIR%\Bpl\AnyDAC_Dcl_D11.bpl" /t REG_SZ /d "Embarcadero FireDAC Components" /f
–jeroen
Posted in Delphi, Delphi 2007, Delphi XE4, Development, Software Development | 4 Comments »
Posted by jpluimers on 2015/08/11
I need to give this link from Jonathan Lange which was shared by David Millington some thought:
There they add fuzzers to help testing an ADT: in this case an Abstract Data Type in the form of a red-black tree.
And then see if it can be added to DUnit and NUnit or MSTest/VSTest in some way.
In the original post by Jonathan Lange, an important remark was made by Eric Castelijn:
… the downside being that having non deterministic tests means having test failures that are hard to repeat
…
When fuzzing multiple or composite values, the chances that you will hit interesting edge cases semi-reliably will drop dramatically, in my experience
–jeroen
via “This post has two points. First, you should write ADT fuzzers. It is often….
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2007, Delphi 2009, Delphi 2010, 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/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 |
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/15
Thanks [Wayback] Jørn Einar Angeltveit for sharing this a while ago:
A session by Jon Skeet and Tony the Pony (which has strong teeth) presented during the Polish DevDay 2013 in Kraków, Poland.
[Wayback] +Jon Skeet’s speech [Wayback] “Back to basics” is really a good watch.
In a funny way, he explains why the simplest fundamentals of computer software text, dates and numbers can cause some real headache for the programmer…
In case you didn’t know: Jon Skeet is “Chuck Norris” on [Wayback] stackoverflow.com:
The subtitle is “the mess we’ve made of our fundamental data types”.
Some of the topics covered:
Posted in .NET, C#, Conference Topics, Conferences, Delphi, Development, Encoding, Event, internatiolanization (i18n) and localization (l10), Java, Java Platform, Jon Skeet, Pascal, Scripting, Software Development, Unicode | 2 Comments »
Posted by jpluimers on 2015/07/08
Interesting. Not only about Delphi history, as Chuck has done so much more nice things.
His blog: removingalldoubt.com
–jeroen
Posted in .NET, C#, Delphi, Development, Software Development | 2 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/07/01
Very interesting:
Kernel object names are optional. Don’t give them a name unless you intend them to be shared.
–jeroen
via: [WayBack] You can name your car, and you can name your kernel objects, but there is a qualitative difference between the two – The Old New Thing – Site Home – MSDN Blogs.
Posted in .NET, C, C++, Delphi, Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »
Posted by jpluimers on 2015/06/30
A long while ago, someone (it was too long ago, so I sincerely forgot who, it probably was in the JBuilder era) told me that I should try out Ruby and Scala.
I did take a short look at Ruby back then, but since Ruby was so focussed on Web Development, and my heart really wasn’t there, postponed it to the times that the Web would be hot for me.
Then I should have taken a look at Scala (which compiles to Java bytecode), but since I abandoned Java (JBuilder wasn’t nice, Java programming was slow and modern IDEs like IntelliJ IDEA and Eclipse weren’t there yet).
Now that I’ve done truckloads of work in the .NET and Delphi world (including domain specific languages and Pascal based products), I bumped into these Scala videos by Venkat Subramaniam:
Boy, I should have taken a look earlier: like Delphi and C# it is a statically typed compiled language, but it is on steroids.
Yes, I know it leans on the Java bytecode as a run-time platform, but so does the Android SDK as one of the Java Platforms. Contrary Ruby, which with IronRuby runs on .NET and RubyMotion runs Mac and iOS, Scala does not run on the .NET platform any more.
Given the witty way of presenting I’m surely going to follow Venkat Subramaniam and watch some of his other videos too.
Shortly after watching the above I bumped into this video by Steve Yegge (Google): Dynamic Languages Strike Back – YouTube.
–jeroen
Posted in .NET, C#, Delphi, Development, Java, Java Platform, Ruby, Scala, Software Development | 3 Comments »
Posted by jpluimers on 2015/06/24
An eternal Dilbert strip that is based on the tiny Here’s a nickel kid. Go buy yourself a real computer fragment from single.h:
#if _FP_W_TYPE_SIZE < 32
#error "Here's a nickel kid. Go buy yourself a real computer."
#endif
Posted in *nix, ARM, Assembly Language, Delphi, Delphi 1, Development, Fun, Geeky, History, MS-DOS, Power User, Software Development, Windows, Windows 8.1, Windows 95, Windows NT, x86 | 2 Comments »