Skip to content

v0.2.0

Latest
Compare
Choose a tag to compare
@rockcavera rockcavera released this 30 Mar 05:52
  • Added the winim package as a dependency;
  • Added compilation tips and errors;
  • Added custom DllMain();
  • NimMain() is no longer called in DllMain(), as it calls WINAPI functions that should not be called in DllMain();
  • GC_fullCollect() and NimDestroyGlobals() are called in DllMain when the dll is unloaded;
  • Compile with -d:mdlldkNoDllMain to add your custom DllMain();
  • NimMain() is called from LoadDll() and from all procedures added with newProcToExport(), newProcToExportW() and newProcToExportA() if not already called;
  • The procedures mMajor(), mMinor(), mBeta(), mUnicode(), mMaxBytes(), mKeepLoaded(), mMainWindowHandle(), mRawVersion(), mToCStringAndCopy() and mToWideCStringAndCopy() are now independent of the use of the addLoadProc() template;
  • Added the mInitialized() procedure.
  • The addAliasFor() compile-time procedure is no longer exportable;
  • Added the addAliasFor() template;
  • Procedures added with newProcToExport() now call a procedure with the abstraction layer instead of adding abstraction code in every added procedure. However, the compiler can optimize and do inline.
  • All documentation comments at the top of the body of calls to addLoadProc(), addUnloadProc(), newProcToExport(), newProcToExportW(), newProcToExportA() and addAliasFor() are passed to the documentation generated by Nim with nim doc.
  • The minimum required Nim compiler is now version 2.0.0, due to the annotation with pragma aliasFor in templates generated with nim doc.