Как использовать .NET через COM | |
---|---|
RostKudr Автор Сообщений: 4 Дата регистрации: 01.05.2011 |
Об этом есть статья www.west-wind.com
но по этому образцу у меня не получается. Вот что я пока что сотворил. Выполнение пунктов 1 и 2 из комментариев в исходнике проходит без запинки. Но когда залезаю в среду VFP 9 SP2 и даю команду по пункту 3, выскакивает сообщение OLE Error Code 0x80070002: The system cannot find the file specified. Этот же DotNetAsCOM.dll отлично вызывается из MS Visual Basic 6, правда, там требуется включить в проект ссылку на библиотеку DotNetAsCOM.tlb. И бэйсиково exe-приложение ActiveX с вывеской формы из Фокса нормально вызывается. Библиотека типов DotNetAsCOM.tlb распознаётся в Фоксе через ObjectBrowser, а вот .dll за COM библиотеку не признаётся. И из Lua 5.1.4 тоже дот-нетовский COM не распознаётся, а бэйсиков вызывается нормально. Делал пробы в .NET 2 и 4, с ключом x86 и без. Так что у меня не так?
|
Re: Как использовать .NET через COM | |
---|---|
RostKudr Автор Сообщений: 4 Дата регистрации: 01.05.2011 |
Поступили сведения, что регистрировать надо командой
regasm DotNetAsCOM.dll /codebase /tlbotNetAsCOM.tlb а для полного успеха надо назначить сборке (assembly) некое строгое имя (strong name) |
Re: Как использовать .NET через COM | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Да, это надо добавлять. При том регистрировать от лица администратора, ну и верный вариант утилиты regasm выбирать (если установлено несколько версий дотнета - "различаются" 2-я и 4-я. 3 и 3.5 на самом деле это ядро 2 версии + некоторые "добавки"). Скажем так - для того чтобы regasm не выдавал предупреждений, но работать оно будет и без строгого имени. Вообще, если ещё не читал, очень советую там же прочесть про wwDotNetBridge - это хитрая система для стыковки фокса с дотнетом не требующая использования regasm и соответственно создания "специальных" ComVisible(true) сборок (а заодно и наличия прав администратора для "установки/регистрации" компонент у клиента). Автор сделал её некоторое время назад свободной и опубликовал исходники (на github). Для многих применений это может оказаться более удобным и практичным чем создание специальных COM interop сборок (несмотря на то что сами "обращения к дотнетовским классам из фокса" будут более "многобуквенными"). ------------------ WBR, Igor |
© 2000-2024 Fox Club  |