|
Интеграция
|
|||
---|---|---|---|
#18+
Блин, страшные вещи вы тут пишете. Это будни поддержки замогильного кода, или сейчас модно эктив иксами по формам разбрасываться? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2015, 15:46 |
|
Интеграция
|
|||
---|---|---|---|
#18+
AlexUser987Блин, страшные вещи вы тут пишете. Это будни поддержки замогильного кода, или сейчас модно эктив иксами по формам разбрасываться? Бывают задачи, которые можно решить только написанием ActiveX. В моем случае это приложение системы эл. документооборота в котором можно создавать свои формы и вешать несколько контролов, которые идут вместе с этим ПО. Таких систем на постсоветском пространстве не так много и в во всех этих системах проблема с ограниченным количеством и ограниченым функционалом этих контролов. Но зато у этих систем есть возможность подключать ActiveX. Вроде бы бери себе MS Forms 2.0 и в путь, но и тут натыкаемся на то, что часть из контролов глючит, не у всех установлено (идет с MS Office), и тоже не имеет всех "распрекрас" современных контролов того же FW. Если Вы знаете уже писаные ActiveX компоненты или как вытянуть элементы Windows Forms другим способом, буду признателен за подсказку. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 08:29 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Алексей К maybeleoпропущено... оно? MSDNRegistry Entry HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\ {CLSID}\Control Remarks This optional entry is used by containers to fill in dialog boxes. The container uses this subkey to determine whether to include an object in a dialog box that displays ActiveX Controls. A control can omit this entry if it is designed to work only with a specific container and therefore does is not intended to be inserted in other containers. Да, это оно. Собственно, выделенное жирным и настораживает. Я даже знаю, что этим specific container-ом является Internet Explorer. К сожалению, я не знаю более разумного способа вставить контрол из .Net в Delphi. В принципе, там необязательно использовать ActiveX. Задача, чтобы на .Net было разработано содержимое MDI Child формы. Мне показалось, что наиболее разумно MDI Child форму сделать в Delphi, а на неё положить "ActiveX.Net".CLR host? У Рихтера про это есть. Я так в своё время .NET формы в Centura интегрировал. Немного C++, немного PInvoke, и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 08:46 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Ashoorup, я Вам своё предыдущее сообщение адресую. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 08:49 |
|
Интеграция
|
|||
---|---|---|---|
#18+
skyANA , спасибо! Ушел в изучение. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 09:07 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Что-то просветления никакого не наступило.. skyANA, как вообще можно воспользоваться .NETовскими контролами не через ActiveX? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 13:25 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Через CLR host можно как я понял в неуправляемом коде запустить CLR и загрузить сборку и например нужный нам метод. Но теперь проблема, в том что у меня неуправляемая среда VBScript :) и как там сделать Код: plaintext 1. 2.
без понятия:) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 13:52 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Ashoorupкак вообще можно воспользоваться .NETовскими контролами не через ActiveX?Ну я же дал ссылку на работающий пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 14:24 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Алексей КAshoorupкак вообще можно воспользоваться .NETовскими контролами не через ActiveX?Ну я же дал ссылку на работающий пример. По ссылке создание ActiveX. У меня все получилось создать и все работает. Спасибо! Но теперь я еще заинтересовался темой Хостинга CLR . Если я правильно понял, то можно из неуправляемого кода взять сборки и работать с ними... Отсюда вопрос: а можно ли таким способом "вытянуть" контрол на свою форму? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:26 |
|
Интеграция
|
|||
---|---|---|---|
#18+
AshoorupОтсюда вопрос: а можно ли таким способом "вытянуть" контрол на свою форму?Если я правильно понял что предложил skyANA, то придётся самому реализовывать работу с ActiveX Controls Interfaces . На мой взгляд проще взять за основу родной экспорт ActiveX и дополнить его костылями, если вдруг что-то там не устроит. С другой стороны, я напрямую с CLR host не работал, может и не всё так страшно, пусть лучше skyANA прокомментирует. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:35 |
|
Интеграция
|
|||
---|---|---|---|
#18+
ОК. Ждем ответ от skyANA Алексей К , еще такой вопрос: возможно ли сделать так, чтобы в одной сборке по сути один ActiveX было несколько контролов с разными свойствами? Допустим по умолчанию все контролы скрыты и не отображаются, а я уже в своем приложении делаю видимым нужный мне контрол и работаю с ним. Или идея похожа на БредСивойКобылы ?:) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:52 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Алексей КAshoorupОтсюда вопрос: а можно ли таким способом "вытянуть" контрол на свою форму?Если я правильно понял что предложил skyANA, то придётся самому реализовывать работу с ActiveX Controls Interfaces .Хотя нет, можно обойтись и без интерфейсов AcitveX. Зная дескриптор родительской формы можно делать так: Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:56 |
|
Интеграция
|
|||
---|---|---|---|
#18+
AshoorupОК. Ждем ответ от skyANA Алексей К , еще такой вопрос: возможно ли сделать так, чтобы в одной сборке по сути один ActiveX было несколько контролов с разными свойствами? Допустим по умолчанию все контролы скрыты и не отображаются, а я уже в своем приложении делаю видимым нужный мне контрол и работаю с ним. Или идея похожа на БредСивойКобылы ?:)В одной сборке могут жить много контролов, если я правильно понял постановку задачи. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 15:59 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Алексей КВ одной сборке могут жить много контролов, если я правильно понял постановку задачи. :-) Но в списке на вставку нужного контрола будет несколько, а хотелось бы 1. Хотя вот думаю... а нафик... удобно ли это потом будет...:) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 16:08 |
|
Интеграция
|
|||
---|---|---|---|
#18+
AshoorupОК. Ждем ответ от skyANA на чем написаны "свои формы" и что конкретно в них нужно встроить? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 21:02 |
|
Интеграция
|
|||
---|---|---|---|
#18+
skyANAна чем написаны "свои формы" и что конкретно в них нужно встроить? Смотря какая система. Одна система писана на C++, другая на Delphi третья возможно на .NET. Другое дело, что работа уже разработчиков(пользователей) этих систем с формами и компонентами предоставляемой этой средой ведется на скриптовых языках. У одних это свой скриптовый язык причем русскими операторами (1С: Предприятие). У других это VBS у третьих JS и VBS. Но у всех почему-то встроенные элементы управления не богаты функционалом. У всех систем есть возможность подключить и COM и ActiveX. Вот я и хочу расширить функционал по сути всех этих систем... Встроить в формы нужно как можно больше элементов из Windows.Forms .NETовских ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 08:25 |
|
Интеграция
|
|||
---|---|---|---|
#18+
А PropertyPages у кого-нибудь на C# получалось? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2015, 16:40 |
|
Интеграция
|
|||
---|---|---|---|
#18+
Может кто подскажет по таким вопросам: 1. Если свойство у ActiveX контрола { get; set; } ,то в редакторе кода IntelliSense работает и свойство отображается. Но если есть только { set; }, то не отображается. В чем причина? 2. По умолчанию интерфейс IUnknown есть у любого ActiveX контрола, и естественно с ним есть открытые методы: AddRef(), Release(), и т.д. Как их убрать их IntelliSense. Знаю что есть специальственный атрибут, но где его писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2016, 14:02 |
|
Интеграция
|
|||
---|---|---|---|
#18+
По первому вопросу экспериментировал с разными атрибутами - фифекта не принесло :( Код: c# 1. 2.
А по второму у меня интерфейс IDispatch, а не IUnknown. Но от этого не легче. Я хочу чтобы методы (7шт.) IDispatch не отображались в редакторе кода, но вот сомневаюсь, что это возможно. Потому как private делать их нельзя, а все что public, то по умолчанию видно в редакторе. Возможно атрибут [EditorBrowsable(EditorBrowsableState.Never)] для этих методов сработает, но я не знаю где их найти... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2016, 08:58 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1400861]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 430ms |
0 / 0 |