Использование компонентов CCW в javascript дает ошибку Undefined
Интерфейс Реализованный Класс
[ComVisible(true)]
[Guid("13FE32AD-4BF8-495f-AB4D-6C61BD463EA4")]//GUID for this class
[ClassInterface(ClassInterfaceType.None)]//Donot generage any interface automatically. We will explicitly create one
[ComSourceInterfaces(typeof(IMathInterface))]//Expose events
[ProgId("CCWTEST.ClassMath")]//Friendly name of the class. Used while creating object without using 'New' keyword
public class ClassMath : IMathInterface
{
[ComVisible(true)]
int IMathInterface.Add(int x, int y)
{
return x + y;
}
}
Интерфейс
[ComVisible(true)]
[Guid("D6F88E95-8A27-4ae6-B6DE-0542A0FC7039")]//GUID for this interface
[InterfaceType(ComInterfaceType.InterfaceIsDual)]//Enable early as well as late binding
public interface IMathInterface
{
[DispId(1)]
int Add(int i, int j);
}
Javascript
window.onload = onLoad;
function onLoad()
{
try
{
var obj = new ActiveXObject("CCWTEST.ClassMath");
}
catch (e)
{
alert(e.Message);
}
}
Я создал библиотеку типов классов окна формы. Бизнес-логику DLL нужно использовать на странице Asp.net. Для этого сгенерировал класс CCW Wrapper
В классе Wrapper создайте интерфейс для объявления функции. И реализовать интерфейсную функцию в классе оболочки. Сделать все функции [comvisible=true]
Зарегистрируйте dll в GAC. Теперь придется использовать на странице asp.net Так создан ActiveXObject. Это дает мне исключение "неопределенный"