Obtain 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:
(When not running as Administrator: elevate to Administrator)
Welcome screen: press next
License screen: accept, then press next
Destination selection screen: keep C:\Program Files (x86)\Embarcadero\FireDAC, then press next
Select components screen: keep the selection (Full installation), then press next
Select IDEs screen: choose Delphi 2007 (but not Delphi 2006), then press next
Select Demo Databases screen: keep the settings (do not choose Interbase / Firebird server as then you have to provide the credentials for the server), then press next
Start menu screen: keep Embarcadero FireDAC, then press next
Ready to install screen: press install
After installation: press finish, then read the readme
or later browse to <file:///C:/Program%20Files%20(x86)/Embarcadero/FireDAC/Readme.html>
That’s what actually tells you:
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.
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.0
and on others points to
%LOCALAPPDATA%\Documents\RAD Studio\5.0
This 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:
Had to investigate some Assembly Loading issues, so I wrote two batch files to enable and disable the .NET Fusion Log:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
For a long time, I’ve persuading people to install English versions of their operating systems (especially on server side) at least for some parts of their environment.
The main reason is that searching for English error messages gives you a much bigger chance of finding the cause than non-English ones.
I’m still standing by that recommendation, but life has become a bit easier because of these two sites that offer quite good translations of Windows Error messages in many languages to English:
It is all about handling values that are not Integers, Overflow values and Nulls. There are subtle differences, in the handling of the methods, and the exceptions they could throw: ArgumentNullException, FormatException and OverflowException.
From the perspective of learning assembly language to get a grasp of thinking at the lowest computer abstraction, it is an ideal tutorial: the 6502 is a very simple 8-bit processor with only 3 registers. These restrictions make programming fun.
Windows Security updates sometimes break old software.
In this case it was an older InstallShield version (not even sure it was 2012), breaking with this message when security updates like KB2949927, KB3004394 or KB3033929 are installed:
ISDEV : error -6003: An error occurred streaming ‘<path>\DiskImages\DISK1\<filename>.isc’ into setup.exe.
An earlier security update KB2962872 even crashed InstallShield 2012 and 2013 during startup.
It raises the issue if security updates are more important than upgrading your tool-chain. For less flexible organisations (not limited to large ones; small ones can be just as inflexible for instance when an upgrade also requires time or skills to be acquired) this can impose a serious problem.
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/offblockcolumn 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).
While most regex flavours have roughly a similar syntax for the basic features, there is not a clear standard as to the syntax of the replacement strings. Some tools use \1 for referencing strings, others use $1 and so on.
As you use Notepad++, you should know it uses the boost library for its regex implementation, and it uses the Boost-Extended format string for the replacement pattern.
In particular, the placeholder for the nth capture group is $n.