javascript - ¿Cómo llamo a un método en un dll de ActiveX personalizado usando el script java/vb?
vb6 vbscript (1)
Javascript no sabe nada sobre Class1. Tienes que obtener el objeto en javascript.
Tratar:
function displaymessage()
{
try
{
var filename;
var class1 = document.getElementById("Class1");
filename = class1.SaveClipboardToImage();
alert(filename);
}
catch(e)
{
alert(e.message);
}
}
Creé un DLL de ActiveX usando VB6 y lo empaqué usando el Asistente de empaquetado y despliegue, que dio como resultado un archivo cab y una página HTML de demostración.
Este dll de ActiveX contiene un método de simulación que devuelve una cadena y no acepta ningún argumento.
El problema que tengo es que cuando llamo al método, siempre aparece el error "El objeto no admite esta propiedad o método" . Pero sí admite el método que estoy llamando.
Lo que intento lograr es que los usuarios accedan a una página web que tenga algún script java o vb en él que llame al método en mi ActiveX y obtenga el valor de la cadena devuelto. La DLL está destinada a ser llamada del lado del cliente.
Mi página web de prueba es la siguiente:
<html>
<head>
<title>SaveClipboardImage.CAB</title>
<object id="Class1" classid="CLSID:" codebase="SaveClipboardImage.CAB#version=1,0,0,0"></object>
<script type="text/javascript">
function displaymessage()
{
try
{
var filename;
filename = Class1.SaveClipboardToImage();
alert(filename);
}
catch(e)
{
alert(e.message);
}
}
</script>
</head>
<body>
<input type="BUTTON" onclick="displaymessage()" value="preview" />
</body>
</html>
Obviamente estoy haciendo algo mal, pero no sé qué. ¿Debo hacer algo especial para la clase en el proyecto VB6 para poder acceder al método? ¿Estoy llamando incorrectamente a la DLL?
Gracias por tu ayuda.