[Contents] [TitleIndex] [WordIndex

Weekly report for 23 July 2011 on Project "dotNET Interaction Mechanism for Scilab + Environment Abstraction Layer" (midterm)

This week I have started to implement dNIMS functionality - managed C++ classes (for now, ScilabDotNetObjects and ScilabDotNetType), which will do objects management. I implemented nearly a half of functionality, so, I hope to finish them, integrate with JIMS and test. Integration is a easy part - the only thing to do is just redirect calls from ScilabDotNetEnvironmentObject to managed ScilabDotNetObjects class. Main commits, implementing for managed classes are this and this.

Declaration of class ScilabDotNetObjects is really native, it contains no managed definitions, so it can be included from native code, ScilabDotNetEnvironment. Storage class ScilabDotNetObjectsStorage is implememted in ScilabDotNetObjects.cpp and contains managed collections. Class ScilabDotNetType is also managed. It will be used to contain cached collections of objects' fields and methods definitions (FieldInfo and MethodInfo) to make quicker their retrievement.

Manged classes will be compiled with /clr option, i.e. as managed code. Compiling them will produce dll and import library, which will be linked to module native cpp sources.

I also made some fixes for Linux build.

Next week

Finish managed classes, integrate them with JIMS/dNIMS, test dNIMS. Implement loading assemblies by strong name (for now there's only loading assembly from path).

2022-09-08 09:26