Skip to content
Denis Kuzmin (reg) edited this page Jan 20, 2017 · 1 revision

How to upgrade Conari to v1.3

New version of Conari engine contains major improvements and fixes with DLR features, ByRef types, new support of Exported-Variables, Aliases, improved Native.Core, ... But it also contains minor incompatible changes with previous versions.

Incompatible changes

Removed: IBinder.bind(MethodInfo mi, bool prefix = false)

TDyn bind(MethodInfo mi, bool prefix = false);

Obsolete sample:

using(var l = new ConariL(@"x86\7z.dll")) {
    l.bind(Dynamic.GetMethodInfo(typeof(bool)), true)...
}

It removed as a deprecated ! because for this can be a lot of misunderstandings.

What to do

If you need something, use like: prefix ? l.procName(mi.Name) : mi.Name etc. for any available methods with MethodInfo.

Updated ILoader: PE32/PE32+ features

Added new IPE PE property for complex work with PE-file. And the ExportFunctionNames property has been removed as obsolete.

What to do

Just use same PE.ExportedProcNamesArray instead of ExportFunctionNames.

Changed IProvider: funcName() -> procName()

string funcName(string name);

Has been renamed to string procName(string name); - as a common method for getting full lpProcName with main prefix etc.

The new name is more suitable for unified work with exported functions and for new support of variables, etc.

What to do

Just rename funcName() to procName() in any your places where it used.

Questions

If you have problems with the upgrade, create issue