|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Можно ли на шарпе сделать аналог .OCX контрола? Для использования из VBA Excel или Access. Чтобы был доступен на палитре компонентов и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 10:21 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Можно , но на свой страх и риск, поскольку это недокументированная возможность. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 10:40 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
мда странно, что Майкрософт собственные технологии делает несовместимыми между собой ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 11:42 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Eoltмда странно, что Майкрософт собственные технологии делает несовместимыми между собойВсе совместимо. Просто MS принуждает писать под FW, поэтому не разрабатывает инструментов, облегчающих разработку COM/ActiveX. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 12:35 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Читаю ссылки в гугле, почти все бред вроде How do I Create an ActiveX (COM) in C#? Большинство вообще не понимает чем отличается ActiveX от COM DLL ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 12:56 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
В общем прояснил для себя вопрос, вот тут что-то похожее на правду Нужна MFC обертка на С++ авторЕсли речь идет о простом компоненте повторного использования - то все сказано в первом ответе. Если же речь идет об интерфейсном элементе - то все не так просто. C# в чистом виде не дает такой возможности. Но можно сделать контрол на C#, а потом сделать для него обертку на С++ с использованием MFC. В MFC есть класс CWinFormsControl, оборачивающий WinForms контролы в CWnd. Далее нужно, используя возможности WinForms, сделать обычный контрол на C#, назовем его, к примеру MyLib.MyControl. Далее, создать ActiveX MFC проект, в свойствах проекта включить поддержку CLR и добавить ссылку на сборку с контролом. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2015, 13:20 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
EoltВ общем прояснил для себя вопрос, вот тут что-то похожее на правду Нужна MFC обертка на С++ авторЕсли речь идет о простом компоненте повторного использования - то все сказано в первом ответе. Если же речь идет об интерфейсном элементе - то все не так просто. C# в чистом виде не дает такой возможности. Но можно сделать контрол на C#, а потом сделать для него обертку на С++ с использованием MFC. В MFC есть класс CWinFormsControl, оборачивающий WinForms контролы в CWnd. Далее нужно, используя возможности WinForms, сделать обычный контрол на C#, назовем его, к примеру MyLib.MyControl. Далее, создать ActiveX MFC проект, в свойствах проекта включить поддержку CLR и добавить ссылку на сборку с контролом. Оно и без MFC-обёртки в принципе работает, за исключением некоторых мелочей . ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 05:02 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Алексей КОно и без MFC-обёртки в принципе работает, за исключением некоторых мелочей .[/quot] А есть рабочий пример? Выложи сюда пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 10:17 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Алексей КEoltА есть рабочий пример? Выложи сюда пожалуйста.Я же давал ссылку. Там есть рабочий пример. по ссылке что угодно, но только не рабочий пример ActiveX COM компонента ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 12:45 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
EoltАлексей Кпропущено... Я же давал ссылку. Там есть рабочий пример. по ссылке что угодно, но только не рабочий пример ActiveX COM компонентаПо каким признакам определил? Обратил внимание на то, что экспортируемый класс является потомком класса Control, который реализует эти интерфейсы? Впрочем, как знаешь... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 15:05 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Алексей КПо каким признакам определил? Обратил внимание на то, что экспортируемый класс является потомком класса Control, который реализует эти интерфейсы? Впрочем, как знаешь... Не реализован dual-интерфейс, нет IDispatch и еще кучи всего. Соотвественно это нигде не будет работать, где общение с COM идет через таблицы виртуальных методов. Это не пример ActiveX, это пример COM-библиотеки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 15:27 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Eoltнет IDispatchEoltСоотвественно это нигде не будет работать, где общение с COM идет через таблицы виртуальных методов позднее сязывание.Поправил. EoltЭто не пример ActiveX, это пример COM-библиотеки.Ты бредишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 15:53 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Алексей КEoltЭто не пример ActiveX, это пример COM-библиотеки.Ты бредишь. авторЧитаю ссылки в гугле, почти все бред вроде How do I Create an ActiveX (COM) in C#? Большинство вообще не понимает чем отличается ActiveX от COM DLL Попробуй импортировать свой "контрол" в любой COM-контейнер. MS Office, 1C, InternetExplorer и посмотри что он тебе скажет на твои попытки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 15:56 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Eoltнет IDispatch EoltСоотвественно это нигде не будет работать, где общение с COM идет через таблицы виртуальных методов. у меня когнитивный диссонанс ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 16:15 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
EoltАлексей Кпропущено... Ты бредишь. авторЧитаю ссылки в гугле, почти все бред вроде How do I Create an ActiveX (COM) in C#? Большинство вообще не понимает чем отличается ActiveX от COM DLL Попробуй импортировать свой "контрол" в любой COM-контейнер. MS Office, 1C, InternetExplorer и посмотри что он тебе скажет на твои попытки.Я бы не был столь уверен, если бы это не работало много лет в промышленной эксплуатации. В моём случае оно работает в Delphi, кое что тестировалось в Excel VBA. Всё это "законно" хостится в IE . В других ActiveX-средах это тоже можно хостить, но "незаконно". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 16:47 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
Алексей КЯ бы не был столь уверен, если бы это не работало много лет в промышленной эксплуатации. В моём случае оно работает в Delphi, кое что тестировалось в Excel VBA. Всё это "законно" хостится в IE . В других ActiveX-средах это тоже можно хостить, но "незаконно". Причем тут промышленная эксплуатация. Для работы в VBA Office ActiveX должен поддерживать dual-интерфейс, если IDispatch не реализован, среда не будет с ним работать. То что в Дельфи достаточно одного только IUnknown совершенно не интересует. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2015, 18:12 |
|
Визуальный ActiveX контрол на C#
|
|||
---|---|---|---|
#18+
EoltАлексей КЯ бы не был столь уверен, если бы это не работало много лет в промышленной эксплуатации. В моём случае оно работает в Delphi, кое что тестировалось в Excel VBA. Всё это "законно" хостится в IE . В других ActiveX-средах это тоже можно хостить, но "незаконно". Причем тут промышленная эксплуатация. Для работы в VBA Office ActiveX должен поддерживать dual-интерфейс , если IDispatch не реализован, среда не будет с ним работать. То что в Дельфи достаточно одного только IUnknown совершенно не интересует.Да ты одолел уже. Оттуда: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.06.2015, 05:00 |
|
|
start [/forum/topic.php?fid=20&msg=38986167&tid=1401430]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 146ms |
0 / 0 |