:: Не фоксом единым
com c# .net-VFP
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Собрался научиться созданию
com классов в C# .NET
Скачал примеры, прочитал теорию, даже
сделал готовый проект по опубликованному коду
Сделал tlb через asm.exe
В реестре класс вижу, он inproc
В фоксе в object browser на закладке com
прочитал tlb и вижу там внутренность класса
Однако все мои усилия использовать
createobject , createobjectex
провалились.
Собственно мне нужно использовать сом не из Фокса,
а из Фортрана.
И там облом
Сообщения типа system can not find file



Исправлено 2 раз(а). Последнее : boba, 23.06.16 19:41
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Нетовские сборки должны регистрироваться в системе через утилиту regasm (возможно с доп.ключами, если они не подписаны - т.е. без StrongName - и соответственно ставятся не в GAC). tlb это просто формальное описание библиотеки - там нет исполняемого кода.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
И ставил галочку подписать при сборке,
и пропускал через sn.exe для создания стронг нейм, и ссылался на этот файл
в assembly.c
Все без толку.
И писал длл и тлб и файл ключей в самые разные директории- ничего не помогло.
Прочитал штук 6 статей на тему этой ошибки, все оттуда попробовал,
не помогает.
Не понятно почему.
В Седне как раз примеры на создание в Студии com и вызове их
из фокса, эти примеры работают.
Интересно, что метод Рика Страла через net reflection, clrhost
прекрасно видят этот класс и вызывают в фоксе.
Текст класса не мой, из примеров для com работа с sql server
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
И ставил галочку подписать при сборке,
и пропускал через sn.exe для создания стронг нейм, и ссылался на этот файл
в assembly.c
Все без толку.
И писал длл и тлб и файл ключей в самые разные директории- ничего не помогло.
Прочитал штук 6 статей на тему этой ошибки, все оттуда попробовал,
не помогает.
Не понятно почему.
В Седне как раз примеры на создание в Студии com и вызове их
из фокса, эти примеры работают.
Интересно, что метод Рика Страла через net reflection, clrhost
прекрасно видят этот класс и вызывают в фоксе.
Текст класса не мой, из примеров для com работа с sql server
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
sphinx

Сообщений: 31185
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
А какая ошибка?


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
sphinx

Сообщений: 31185
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Может поможет статья "Интероперабельность: Фортран и C#": habrahabr.ru


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Слишком мало информации. Могу лишь сказать что я, когда это потребовалось, без проблем создал ком-видимую сборку и так же без проблем её после этого используют на куче машин... Из фокса.
Собирается COM сборка под 2-й фреймворк (она в свою очередь использует другие сборки - не COM-видимые. По сути это простая обёртка).
Не подписывается strong name-ом вообще. Сама сборка НЕ помечена ComVisible (чтобы не пыталась в tlb экспортировать всё и вся) - помечены только необходимые интерфейсы и классы.
Регистрируется на клиенте через простейший батник вида
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe "Имя_сборки.dll" /codebase
Все файлы (сама com-видимая dll, прочие сборки и их конфиг-файлы) размещаются просто в некоторой папке на клиентской машине - БЕЗ установки их в GAC.

Да, в другом случае (для подключения к фоксу другой нашей C# компоненты) я тоже использовал clrhost рика - оно имеет как свои плюсы (не нужно гадить в реестр и соответственно просить у клиентов полный административный доступ), так и минусы - достаточно большая куча маловменяемого кода для взаимодействия в фоксовой обёртке...

В общем хочешь предметной помощи - давай исходник проекта и логи - сборки, регистрации...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: com c# .net-VFP
boba
Автор

Сообщений: 6269
Откуда: Медвежьи озера-
Дата регистрации: 26.03.2001
Спасибо Игорь.
Сегодня заработало.
Снял галочку подписи, но оставил
файл ключей.
Обрадовался, но рановато.
При запуске обнаружил мелкую ошибку,
исправил, пересобрал сборку. Запускаю в фоксе,
и вижу сообщение -нет такого класса. Иду в реестр,
и действительно нет. Вышел из Студии, зашел снова как админ,
пересобрал сборку- класс есть.
Если я до этого был не как админ, то поведение странное,
на запись в реестр нужно быть админ, а как снести класс из реестра,
так и не нужно.
Ставлю галочку подписи назад, опять не работает с офибкой система не может найти файл. Хотя файл ключей и ссылка на него остались.
Studio 2015 7 64 винды.
Статья про Фортран пригодиться, Саша.



Исправлено 1 раз(а). Последнее : boba, 30.06.16 21:53
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 tata PaulWist  (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика