ITQuants blog

By Philippe Bonneau on 11/30/2014 9:25 PM

This week, I just wondered why the Sophis R&D didn't permit to override the CSRGlobalFunctions class in C# before the 6.3 version. If you take a look at the DotNet toolkit, you will see that a CSMGlobalFunctions is defined, but no static method Register exist as for the other classes. This point was several times scrolled up to Sophis in the toolkit forums, and I know some clients who ask Sophis to provide a toolkit permitting their own implementation. Unfortunately, they don't have the code and the interface provided in C# does not implement all virtual of CSRGlobalFunctions, for instance StartPortfolioAddition which is a callback on which we can implement the agregation of results for user columns that we want to store in a cache.

For remember, the overriding of the CSRGlobalFunctions class permits to be called when the folios are calculated (StartPortfolioCalculation, EndPortfolioCalculation).

The goal of this post is to describe how to implement a C++ implementation of the CSRGlobalFunctions that permits to implement callback in C#.

By Philippe Bonneau on 11/25/2013 7:15 PM

I 've got today the following message, when I've tried to compile a dll that compiled fine before any change:

“LINK : fatal error LNK1561: entry point must be defined”

During my investigations for resolution, I've tried several tests that all failed:

By Philippe Bonneau on 7/27/2013 11:40 AM

It's an old well-known subject, but since I've seen recently developers who were using the STL vector::clear method and who believed that this method make some deallocation, this post is to remember which method to use in such a case.

By Philippe Bonneau on 5/14/2013 4:48 PM
This post describes the steps to follow in order to compile a C++ project created under VS2005 (or even VC6), and to migrate it to a VS2010 .vcxproj one, but keeping VS2005 as compiler (v80 configuration in the General tab, Platform Toolset entry of the project properties).
By Philippe Bonneau on 2/14/2013 5:26 PM

When developing an executable, there are several solutions to follow the memory consumption on a process. A third party performance monitor could be used in order to store the information and follow the memory growth on the time. I know some like Sysload, provided by Orsyp.

Another solution is to dump the memory used at different steps of the process in some log files and using this log files to make some statistics.

By Philippe Bonneau on 1/30/2013 7:57 PM
I forgot to give the code used in the precedent webservice sample (Calling a secured webservice in Sophis Risque). These lines make the conversion and release the memory:
By Philippe Bonneau on 1/10/2013 4:48 PM

It's one of my best usual case: people are coming to me to see what happened when some server process on production is frozen. Of course, even if logs are written and dumped somewhere, in most cases, they are not enough to detect what happens really.

The same scenario occurs when an access violation is followed by a crash of the process, when we need a post-mortem analysis.

Everybody could tell me that we just have to write such a treatment in C# or Java to get the call stack at this moment, but the subject of this post is not what development language to use but what to do when something like that occurs on a production server.

By Philippe Bonneau on 11/8/2012 1:22 PM

Using the CSRCustomMenu class gives the opportunity for the developer to control at least the behaviour of the items and the type of the internal variable used for storing the information. The subject of this entry is to detail the virtual methods which have to be overloaded in order to control the type of the variable.

By Philippe Bonneau on 10/10/2012 2:29 PM

Imagine that the instrument dialog was overloaded by toolkit, and that the sicovam is required to make some SQL query when opening the insturment dialog. If there is no test on the fact that the instrument is displayed in audit mode, this will certainly fail since the sicovam given by the CSRInstrument will correspond to the "new" sicovam and not the one used in current mode.

By Philippe Bonneau on 3/14/2012 10:33 AM

After a migration from x86 to x64 on Misys Risque, one of the biggest deal was to find a tool able to check the memory leaks and access violations (buffer overrun and so on..). This was done one year ago, but I think that nothing has been changed since. I tested different tools and this is the results of my analysis:

Search blog