CrossTalk News

CrossTalk News

There is a new CrossTalk test release available for download. This new version 1.0.53 includes suppport for Delphi and RAD Studio XE2/XE3.

A lot of work was required to make CrossTalk work with the DelphiXE3 anti-piracy mechanism. Took much longer that we first thought. Inprevious CrossTalk versions, the CrossTalk DLLs were copied to Delphibin directory. These DLLs are used by CrossTalk IDE packages. In DelphiXE3 and latest XE2, this just can’t be done. The new anti-piracy protection schemeused in Delphi XE3 loads every DLL in DelphiBin directory and checksif it is correctly signed. If we copy the CrossTalk DLLs to DelphiBindir, the IDE just won’t load anymore.

The issue here is: The lookup sequence for .NET when it is loading assemblies is GAC -> Application directory-> Probing location

In the case of the CrossTalk IDE package, we had to copy the CrossTalk assemblies to the “Application directory”, that is, the DelphiBin directory. After the new anti-piracy stuff, that also affects XE2 users with latest service pack installed, this was not an option anymore. Another possibility was creating an App.config file, setting a “probing location”. But the App.config file also had to be in the master EXE directory, that is, the DelphiBin directory and the anti-piracy stuff would forbid us again…

The solution was: load the .NET assemblies from some other directory, not GAC and not “application directory” either.  Now, CrossTalk is able to load .NET assemblies from other directories in the PATH environment variable, not only the main application directory. This is also true for your own CrossTalk deployment: you should be able to copy the CrossTalk assemblies to any other directory in PATH, not only the main application directory. Please click here to download CrossTalk version 1.0.53.

Check the Change Log.