Алькор
Зарегистрирован: 07.10.2004 Сообщения: 1 Откуда: Киев, Украина
|
Добавлено: Чт Окт 07 2004 14:43 Заголовок сообщения: Вызов функций dll из JScript: COM, ActiveX и др. извращения |
|
|
День добрый, народ!
Возникла задача организации взаимодействия в тонком клиенте JScript с dll-кой на клиентской машине. Насколько я могу судить, такое взаимодействие можно организовать, если сделать COM-интерфейс к dll-ке и вызывать его через тэг OBJECT или через new ActiveXObject.
Никогда раньше я с COM-технологиями не сталкивался (и, признаться, не слишком жалел об этом) однако надо -- значит надо. Накатал тестовое приложение и HTML-ку к нему с тэгом OBJECT, запустил... И только ошибка "Object doesn't support this property or method" была мне ответом.
Натурально я подумал, что не так вызывал из JScript'а свой ActiveX-control. Однако, поэкспериментировал с системными ActiveX-control'ами и убедился, что с этой стороны у меня ошибок, вроде, не наблюдается. Остается предположить, что я неправильно пишу сам COM-сервер. А как его правильно писать? Подскажите, а?
С всяческими пожеланиями,
Алькор.
PS ActiveX я вызываю так:
Код: | <HTML>
<HEAD>
<TITLE>Dilmah OCX Test Page</TITLE>
</HEAD>
<BODY>
<OBJECT classid="classid:C27B60BD-B77E-4409-B39A-BFAAF3626EEB" id="Dilmah"></OBJECT>
<SCRIPT language="JavaScript">
function UseTeaBag ()
{
Dilmah.Alice = document.TeaCup.Alice.value;
Dilmah.DoAuthorization();
document.TeaCup.Bob.value = Dilmah.Bob;
}
</SCRIPT>
<FORM name="TeaCup" id="TeaCup" action="JavaScript:UseTeaBag();">
<TABLE border=0 cellspacing=0 cellpadding=3>
<CAPTION>Dilmah OCX Test Form</CAPTION>
<TR>
<TD width=50%>Alice</TD>
<TD width=50%>Bob</TD>
</TR>
<TR>
<TD width=50%><INPUT type="text" name="Alice" id="Alice"></TD>
<TD width=50%><INPUT type="text" name="Bob" id="Bob"></TD>
</TR>
<TR>
<TD width=50%> </TD>
<TD width=50%><INPUT type="submit" value="DoAuthorization()"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML> |
|
|