Skip to content

Tags: rockcavera/nim-mdlldk

Tags

v0.2.0

Toggle v0.2.0's commit message
- 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 a 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`.

v0.1.0

Toggle v0.1.0's commit message
little fix tests/tests.bat