Quantcast
Channel: ActiveX/COM Komponenten
Viewing all articles
Browse latest Browse all 25

Erster Versuch mit client-seitigem ActiveX

$
0
0

Hallo zusammen,

ich bin totaler VB.NET-Neuling, habt also bitte Nachsicht mit mir und meinem gar heftigen Problemchen :-)
 
Ich habe bisher mit Classic ASP und VB 6.0 programmiert. In dem Kontext habe ich einige ActiveX-Controls für meine Webanwendungen programmiert. Nix besonderes: Kleine *.DLLs mit VB-Funktionen, die ich dann aus dem ASP-Code (server-seitig) ansprechen konnte. Damit standen mir Funktionen zur Verfügung, die Classic ASP nicht drauf hat.
 
Nun habe ich meine erste Schulung für VB.NET-Einsteiger besucht. Leider blieb dort keine Zeit, das Thema "Klassenbibliotheken" anzusprechen. Deshalb versuche ich es jetzt allein - bisher aber mit seeeehhhhrrr mäßigem Erfolg. Auf gut Deutsch - es klappt überhaupt nix!
 
Mein Ziel ist es, mit VB.NET *.DLLs zu erstellen, dieses Mal nicht für den Server-Code, sondern für die Client-Seite. Hintergrund ist der: Ich möchte ein paar Webanwendungen client-seitig um Funktionen ergänzen, die JavaScript nicht drauf hat.
 
Sicherheitstechnisch ist das kein Problem, da es sich um reine Intranet-Seiten handelt und dementsprechend im Browser (IE ist in der Firma Standard) die passende Sicherheitsstufe eingestellt werden kann.
 
Nun wollte ich loslegen, mit 'nem ganz harmlos-billigen *.DLLchen, die eine Funktion enthält, die zwei Zahlen addiert und das Ergebnis zurückliefert.
 
Das hier ist der Code (bitte verhaut mich nicht):
 
-------------------------------------------------------------------------------
 
Public Class schroeders_klasse
 
      Public Function schroeders_funktion(ByVal var_zahl_01 As Integer, _
                                                          ByVal var_zahl_02 As Integer)
 
            schroeders_funktion = var_zahl_01 + var_zahl_02
  
      End Function
 
End Class
 
-------------------------------------------------------------------------------
 
Okay, ich habe also versucht, die *.DLL zu registrieren, damit ich mal testweise "von außen" auf die Funktion zugreifen kann. Geht nicht - heul! Beim Registrier-Versuch mit dem Kommando
 
          regsvr32.exe schroeders_lib.dll
 
kommt die Fehlermeldung:
 
          schroeders_lib.dll wurde geladen, aber
          der DllRegisterServer-Eingangspunkt
          wurde nicht gefunden.
          Diese Datei kann nicht registriert werden.
 
Ich habe dann mal versucht, aus der Webanwendung client-seitig mit VBScript die Funktion "schroeders_funktion" aufzurufen, und zwar mit folgendem Script-Code:
 
-------------------------------------------------------------------------------
 
<script language="VBScript">
 
          Set var_activexobject = CreateObject("schroeders_lib.schroeders_klasse")
 
               var_ergebnis = var_activexobject.schroeders_funktion(1, 2)
 
               msgbox var_ergebnis
 
          Set var_activexobject = nothing
 
</script>
 
-------------------------------------------------------------------------------
 
Beim Ausführen des Codes kommt die Fehlermeldung:
  
          ActiveX-Komponenten kann kein Objekt
          erstellen: 'schroeders_lib.schroeders_klasse'
 
Erste Frage: Ist der VB.NET-Code okay, oder mache ich da was total falsch.
(Ich hab's so gemacht wie bei meinen alten VB6.0-DLLs).
  
Und wieso kann die Datei nicht registriert werden?
(Das wäre dann schon die zweite Frage.)
  
Ist denn wenigstens der Aufruf im VBScript so okay?
(Müsste eigentlich ... Wenn nicht: Dritte Frage.)
   
Bin jetzt ziemlich deprimiert. Nix funktioniert und ich hab' keinen blassen Dunst. 
Habt Ihr vielleicht einen oder mehrere Tipps für mich?
   
Gruß aus dem verregneten Schwabenland
 
Thomas
 
 


Viewing all articles
Browse latest Browse all 25

Latest Images





Latest Images