From a1e9d9ede1167e9d177fb6811543aa10edfb194b Mon Sep 17 00:00:00 2001 From: Holger Boskugel Date: Sat, 23 Dec 2023 02:01:12 +0100 Subject: [PATCH] 2023.12.23.0100 Added: SHFB Changed: COM.Classes Changed: index --- General.NET/COM.Classes.md | 8 ++++---- SHFB.md | 31 +++++++++++++++++++++++++++++++ index.md | 1 + 3 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 SHFB.md diff --git a/General.NET/COM.Classes.md b/General.NET/COM.Classes.md index d5515cb..237f438 100644 --- a/General.NET/COM.Classes.md +++ b/General.NET/COM.Classes.md @@ -16,10 +16,10 @@ - Optionally use of [`ProgIdAttribute`](https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.progidattribute) - Class must have a parameterless constructor - It seems, that the first impleted interface will be taken for COM? -- No generic base classes or first generic interfaces allowed +- No generic base classes or first generic interfaces (without inherited none generic interface) allowed - Only [`public`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/public) members are accessible under COM (no [`protected`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/protected) etc.) -- Inherited interface members mit be implemented again (with [`new`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new-modifier)) +- Inherited interface members might be implemented again (with [`new`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new-modifier)) at inheriting interface - Additional interfaces without reimplementation with [`new`](https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new-modifier) are accessible only after specific cast (implement cast methods for that) @@ -46,8 +46,8 @@ (type library exporter give them the [`DispId`](https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.dispidattribute) of [-4 / 0xFFFFFFFC](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/automat/dispid-constants) for a [_NewEnum implementation](https://learn.microsoft.com/de-de/office/vba/language/concepts/getting-started/using-for-eachnext-statements)) -- Returning array with values needs to be of element type [`Object`](https://learn.microsoft.com/en-us/dotnet/api/system.object), - so `Linq` `Cast().ToArray()` would help here +- Handling arrays out and in with values needs to be of element type [`Object`](https://learn.microsoft.com/en-us/dotnet/api/system.object), + so `Linq` `Cast().ToArray()` would help here and for in correct cast then the incoming elements - COM libraries without registration and without strong names are usable in/with manifests (use tool [`MT`](https://learn.microsoft.com/en-us/windows/win32/sbscs/mt-exe) for that) diff --git a/SHFB.md b/SHFB.md new file mode 100644 index 0000000..8e41689 --- /dev/null +++ b/SHFB.md @@ -0,0 +1,31 @@ +| [Index](index.md) | + +
+ +# Sandcastle Help File Builder (SHFB) + +- [Building `HTML Help 1 (chm)` files](#building-html-help-1-chm-files) + + + +## [Building `HTML Help 1 (chm)` files](#) + +This output format is available only at `Build` in the `Presentation style` of `VS2013`. + +> :warning: - **Important hint on paths** +> +> If the path to the working directory contains a `.h` or `.H` the compilation +> with the HTML Help File Compiler throw warnings of not being HTML and generates +> a bad `*.chm` file. +> +> Getting around this, choose a project path without a `.h` or `.H` *OR* set a +> path in `Paths` / `Output Paths` / `Help content output path` relative or absolute +> from your project that don't contains those character combination and let copy the +> result with the `Output Deployment` plugin to your project path. + + + + +
+© SphereSoft.NET, Holger Boskugel, Berlin, Germany +spheresoft.net diff --git a/index.md b/index.md index 2396030..a1724c8 100644 --- a/index.md +++ b/index.md @@ -4,6 +4,7 @@ [WPF (Windows Presentation Framework) .NET](WPF.NET.md) [XSL(T)](XSLT.md) [GITHub](GITHub.md) +[SHFB - Sandcastle Help File Builder](SHFB.md) [Tools](Tools.md)