Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> COM сервер ActiveX trouble, Не определяет COM объект 
V
    Опции темы
Afx3wer
Дата 2.8.2012, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.8.2012

Репутация: нет
Всего: нет



Требуется создать COM сервер на С#, использовать который нужно посредством ActiveX компонента из JScript. Делаю так:
1. Создаю SimpleCOMServer.dll
Код

namespace SimpleCOMServer
{
    [Guid("93bac5a5-8a95-4e9e-854e-446f0a573dc8")]    
    public interface IManagedInterface
    {
        int PrintHi(string name);
    }

    [Guid("97c106b3-9a91-4a50-b8d0-c130f4433f96")]
    public class SimpleInterfaceImplementation : IManagedInterface
    {
        public int PrintHi(string name)
        {
            Console.WriteLine("Hello, {0}!", name);
            return 33;
        }
    }
}

2. Выполняю
RegAsm.exe" SimpleCOMServer.dll /tlb
Пишет: библиотека типов зарегистрирована успешно

3. Открываю в IE страницу со следующим содержимым
Код

<HTML>
<HEAD>
<TITLE>COM CLIENT TEST PAGE</TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
function Test()
{
    alert("Test!!!");    
    if (window.ActiveXObject) {
        alert("window.ActiveXObject - OK");
    }  else {
            alert("!window.ActiveXObject");
    }
    var obj = new ActiveXObject(SimpleCOMServer.SimpleInterfaceImplementation);    
    try{
        obj.PrintHi("sadasdasdasd");
    }
    catch(exception){
        alert("Failed");
    }
}
</SCRIPT>
<input type=button value="Test" onclick="Test()">
</BODY>
</HTML>


Прохожу дебагером по js - получаю:
Скрипт выполнил ошибку "SimpleCOMServer" не определено

В реестре есть ветка HKEY_CLASSES_ROOT\TypeLib\{EFE9A49A-8780-4CFB-9EED-9835332EE62E}\1.0 со значением параметра SimpleCOMServer

Что я делаю не так? Спасибо
PM MAIL   Вверх
Afx3wer
Дата 2.8.2012, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.8.2012

Репутация: нет
Всего: нет



var obj = new ActiveXObject("SimpleCOMServer.SimpleInterfaceImplementation");
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0378 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.