Использование .NET-объектов в Clarion относительно легко реализуется через COM: сборка регистрируется с помощью regasm.exe и дальше работа с COM по накатанной (через OLE-контрол, интерфейсы либо с помощью сторонних генераторов классов). Однако регистрации сборки в реестре можно избежать.
Для этого надо скачать утилиту GenMan32.exe отсюда: http://blogs.msdn.com/junfeng/archive/2007/04/14/genman32-a-tool-to-generate-sxs-manifest-for-managed-assembly-for-registration-free-com-net-interop.aspx, сгенерить манифест и добавить его в NET-сборку:
GenMan32.exe mynetdll.dll /outGenMan32.exe mynetdll.dll /add /manifest:mynetdll.dll.manifest
Сгенерить манифест для Clarion-приложения (в Global properties > App settings > XP/Vista включить флаги «Generate manifest» и «Configure manifest for Vista (asInvoker)» и отключить «Link generated manifest in project», пересобрать app). В полученный файл манифеста appname.exe.manifest добавить секцию (имя сборки и версию надо поменять на реальные):
<dependency> <dependentAssembly> <assemblyIdentity name="mynetdll" version="1.0.0.0" processorArchitecture="MSIL" /> </dependentAssembly> </dependency>
Будьте бдительны — следующая пересборка затрёт Ваши правки, поэтому теперь надо выключить флаг «Generate manifest». При желании этот манифест можно прилинковать в проект, а не таскать его с собой.Собственно, это и всё — теперь Clarion-приложение увидит NET-сборку «под ногами», а не будет пытаться читать для этого реестр.