Здравствуйте, transit, Вы писали:
T>Hello All !!! T>Существует ли возможность конвертировать .NET Assembly в ActiveX компонент? Если да, то каким образом?
Hello, коли не шутишь. Но сначала уточни — что ты понимаешь под "ActiveX компонент-ом"?
Просто сборка — это файл, а ActiveX-ами обычно называют com-объекты...
А вообще — зарегистрировать .net объект в качестве com-объекта — можно.
Re[2]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, mrozov, Вы писали:
M>Здравствуйте, transit, Вы писали:
M>Hello, коли не шутишь. Но сначала уточни — что ты понимаешь под "ActiveX компонент-ом"? M>Просто сборка — это файл, а ActiveX-ами обычно называют com-объекты...
M>А вообще — зарегистрировать .net объект в качестве com-объекта — можно.
Попробую описать саму задачу.
Нужно реализовать ActiveX компонент, в котором бы присутствовали различны события, и т.д. Почитав про ActiveX, стало понятно что придется потратить достаточно много времени на разбор информации, и + придется разбираться с com-объектами…что само по себе отнимет достаточно приличное количество времени, вот и интересуюсь есть ли возможность, реализовать приложение например под .NET на C#, возможно придерживаясь каких-то критериев. И потом конвертировать это в ActiveX компонент.
Re[3]: Конвертирование .NET Assembly в ActiveX компонент?
> Существует ли возможность конвертировать .NET Assembly в ActiveX компонент
ActiveX — это COM-объект в котором реализован набор определенных интерфейсов. И все эти интерфейсы уже реализованы в классе System.Windows.Forms.Control, т.е. контрол — это ActiveX компонент.
> Нужно реализовать ActiveX компонент, в котором бы присутствовали различны события, и т.д.
Здравствуйте, mrozov, Вы писали:
M>"Конвертировать" нельзя. Можно использовать так, как будто это и есть com-объект.
M>Но все равно непонятно — а что за задача? Почему нельзя просто на .net написать?
Нельзя так как, данное приложение должно использоваться в КПК (Pocket PC). Задача состоит в том чтоб приложение работало без установок дополнительных приложений. Задачу можно было решить используя Java Applets и все было бы замечательно, но в данном случае придется установить VM на КПК. Если использовать просто .NET опять же нужно устанавливать Framework на данный КПК (Pocket PC). А если использовать ActiveX то никаких дополнительных приложений ставить не нужно, он должен работать и так, само собой в зависимости от того поддерживается он браузером от производителя.
Вот и опять же остается вопрос можно ли реализовать все что нужно в .NET на C# и конвертировать это в ActiveX компонент ?
В .NET есть Activator Class при помощи него я так понимаю можно из сборки сделать com-объект в MSDN сказано следующее «The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.», а что касается ActiveX компонента не понятно.
Краткое описание самой задачи:
Есть Web страница, в который встроен ActiveX (который ещё не реализован) элемент. При обращении к этой Web странице, данный элемент (ActiveX), сливается в браузер пользователя, и там запускается, после этого пользователь работает уже непосредственно с этим элементом (который выступает виде клиента)
Требуется чтобы интерфейс был двунаправленным, то есть, чтобы можно было не только посылать запросы, но и получать нотификации (события) от сервера. И чтобы этот интерфейс работал через веб-браузер. С помощью веб-интерфейса этого нельзя достичь, т.к. он работает с сервером только по принципу запрос-ответ (невозможно реализовать события сервера). Другой возможный вариант — Java-апплеты недоступен, т.к. браузер в КПК апплеты (без дополнительной инсталляции) не поддерживает. Но он поддерживает ActiveX...
Re[5]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, mrozov, Вы писали:
M>"Конвертировать" нельзя. Можно использовать так, как будто это и есть com-объект.
M>Но все равно непонятно — а что за задача? Почему нельзя просто на .net написать?
Всё можно! Читаем про RCW и CCW и всё получится.....
Re[5]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, vitaly_spb, Вы писали:
T>>Если использовать просто .NET опять же нужно устанавливать Framework на данный КПК (Pocket PC).
_>вообще-то, даже если ты напишешь на .net activex, все равно тебе придется Framework устанавливать.
Это 100% ? и почему ? я так понимаю, что если он конвертирует это в ActiveX, то там Framework вообще не нужен будет....даже по логике зачем ActiveX'у он ?
Re[3]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, Varg, Вы писали:
V>> Существует ли возможность конвертировать .NET Assembly в ActiveX компонент V> V>ActiveX — это COM-объект в котором реализован набор определенных интерфейсов. И все эти интерфейсы уже реализованы в классе System.Windows.Forms.Control, т.е. контрол — это ActiveX компонент. V> V>> Нужно реализовать ActiveX компонент, в котором бы присутствовали различны события, и т.д.
Немного исправлюсь, в данном случае инициатором должен быть сервер, именно он должен уведомлять ActiveX компонент о каких-то изменениях. Соответственно ActiveX компонент должен как-то эти уведомления обрабатывать, то есть через Event.
Просмотрев ссылки которые ты дал (огромное за них спасибо!) там События работают в других напровлениях...они порождаются клиентом...а мне нужно чтоб События порождал сервер, и соответственно клиент (ActiveX) их обрабатывал.
Повторюст, о том что писал:
"Данное приложение должно использоваться в КПК (Pocket PC). Задача состоит в том чтоб приложение работало без установок дополнительных приложений. Задачу можно было решить используя Java Applets и все было бы замечательно, но в данном случае придется установить VM на КПК. Если использовать просто .NET опять же нужно устанавливать Framework на данный КПК (Pocket PC). А если использовать ActiveX то никаких дополнительных приложений ставить не нужно, он должен работать и так, само собой в зависимости от того поддерживается он браузером от производителя.
Вот и опять же остается вопрос можно ли реализовать все что нужно в .NET на C# и конвертировать это в ActiveX компонент ?
В .NET есть Activator Class при помощи него я так понимаю можно из сборки сделать com-объект в MSDN сказано следующее «The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.», а что касается ActiveX компонента не понятно.
Краткое описание самой задачи:
Есть Web страница, в который встроен ActiveX (который ещё не реализован) элемент. При обращении к этой Web странице, данный элемент (ActiveX), сливается в браузер пользователя, и там запускается, после этого пользователь работает уже непосредственно с этим элементом (который выступает виде клиента)
Требуется чтобы интерфейс был двунаправленным, то есть, чтобы можно было не только посылать запросы, но и получать нотификации (события) от сервера. И чтобы этот интерфейс работал через веб-браузер. С помощью веб-интерфейса этого нельзя достичь, т.к. он работает с сервером только по принципу запрос-ответ (невозможно реализовать события сервера). Другой возможный вариант — Java-апплеты недоступен, т.к. браузер в КПК апплеты (без дополнительной инсталляции) не поддерживает. Но он поддерживает ActiveX..."
Re[7]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, transit, Вы писали:
_>>вообще-то, даже если ты напишешь на .net activex, все равно тебе придется Framework устанавливать.
T>Это 100% ? и почему ? я так понимаю, что если он конвертирует это в ActiveX, то там Framework вообще не нужен будет....даже по логике зачем ActiveX'у он ?
100%
Не существует такого конвертора в принципе. Просто .NET сборка прикидывается COM компонентом (точнее dll из framework).
Здравствуйте, olen33, Вы писали:
O>Здравствуйте, transit, Вы писали:
_>>>вообще-то, даже если ты напишешь на .net activex, все равно тебе придется Framework устанавливать.
T>>Это 100% ? и почему ? я так понимаю, что если он конвертирует это в ActiveX, то там Framework вообще не нужен будет....даже по логике зачем ActiveX'у он ?
O>100% O>Не существует такого конвертора в принципе. Просто .NET сборка прикидывается COM компонентом (точнее dll из framework).
Раз это так, то очень плохо, тогда нет смысла ваять под .NET….
А ты можешь кинуть ссылку или указать источник данной информации (то что создается не сам COM объект а его wrapper)? Буду очень признателен.
Re[9]: Конвертирование .NET Assembly в ActiveX компонент?
Здравствуйте, transit, Вы писали:
T>Раз это так, то очень плохо, тогда нет смысла ваять под .NET…. T>А ты можешь кинуть ссылку или указать источник данной информации (то что создается не сам COM объект а его wrapper)? Буду очень признателен.
Тебе уже ответили. Но достаточно простой логики. Если ты используешь какие-то классы из .NET, очевидно, что для работы приложения нужен сам framework.
Re[3]: Конвертирование .NET Assembly в ActiveX компонент?
От:
Аноним
Дата:
14.10.05 14:41
Оценка:
> Немного исправлюсь, в данном случае инициатором должен быть сервер, именно он должен уведомлять ActiveX компонент о каких-то изменениях. Соответственно ActiveX компонент должен как-то эти уведомления обрабатывать, то есть через Event.
Просмотрев ссылки которые ты дал (огромное за них спасибо!) там События работают в других напровлениях...они порождаются клиентом...а мне нужно чтоб События порождал сервер, и соответственно клиент (ActiveX) их обрабатывал.
Почему именно ActiveX? Если только для того чтобы с сервера получить данные, то — много проблем. Потому что на сервере придется отслеживать все подключенные КПК .... И как сервер узнает, что соединения уже нет? Т.е. серверу придется постоянно опрашивать все КПК? Хорошо, если клиентов мало, а если много?
Думаю, что гораздо проще с КПК по таймеру делать запрос на сервер и получать ответы с помощью XMLHTTP.
> В .NET есть Activator Class при помощи него я так понимаю можно из сборки сделать com-объект в MSDN сказано следующее «The CreateComInstanceFrom method creates an instance of a COM object from a file that contains an assembly.», а что касается ActiveX компонента не понятно.
В MSDN имеется ввиду, что есть файл, в файле есть сборка, а в сборке находится COM-объект, который, как и вся сборка — это код на MSIL. А MSIL нельзя исполнить, если нет установленного Framework.