2009-05-13 8 views
5

VB6 kullanarak bir ActiveX dll oluşturdum ve bir paket dosyası ve bir demo HTML sayfasıyla sonuçlanan Package & Dağıtım Sihirbazı'nı kullanarak paketledim.java/vb komut dosyasını kullanarak özel bir ActiveX dll yöntemini nasıl çağırırım

Bu ActiveX dll, bir dize döndüren ve argüman kabul etmeyen bir simgle yöntemi içerir.

Yapmakta zorlandığım, bu yöntemi çağırdığımda her zaman bir "Nesne bu özelliği veya yöntemi desteklemiyor" hatası alıyor. Ama , aradığım yöntemi destekliyor.

Elde etmeye çalıştığım şey, kullanıcıların ActiveX'imde yöntem çağıran ve döndürülen dize değerini alan bir java veya vb betik içeren bir web sayfasına gitmeleridir. DLL, istemci tarafı olarak adlandırılmak üzere tasarlanmıştır. aşağıdaki gibi

Testim web sayfası: Açıkçası yanlış bir şey yapıyorum

<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> 

ama ne olduğunu bilmiyorum. VB6 projesinde sınıfa özel bir şeyler yapmak zorunda mıyım? DLL'yi hatalı olarak mı arıyorum?

Yardımlarınız için teşekkürler.

+0

Eğer SaveClipboardToImage için VB6 kod gönderebilir miyim? –

cevap

6

Javascript, Class1 hakkında hiçbir şey bilmiyor. Nesneyi javascript'e almalısın.

Dene:

 function displaymessage() 
     { 
      try 
      { 
       var filename; 
       var class1 = document.getElementById("Class1"); 
       filename = class1.SaveClipboardToImage(); 

       alert(filename); 
      } 
      catch(e) 
      { 
       alert(e.message); 
      }      
     } 
İlgili konular