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