ASP.NET Zone

Die ASP.NET Community. Alle Antworten rund um Microsoft® Webtechnologien
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe | Impressum | ASP.NET Zone Suchplugin

in
Home Blogs Foren FAQ Communities Fotos Downloads

Erster Versuch mit client-seitigem ActiveX

Letzter Beitrag 06-17-2011, 13:03 von Rene Drescher-Hackel. 1 Antworten.
Beiträge sortieren: Zurück Weiter
  •  06-09-2011, 19:28 221981

    Erster Versuch mit client-seitigem ActiveX

    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
     
     

  •  06-17-2011, 13:03 222046 Antwort zu 221981

    AW: Erster Versuch mit client-seitigem ActiveX

    letztlich rufst du via JS Servercode auf - dann bist beim AJAX.
    AjaxAssemblies musst du nicht registrieren - nur den Verweis im Projekt setzen. Der Rest geht dann von allein.


    Gruss Rene
    ______________________________


    weblog.drescher-hackel.de
Als RSS Feed in XML ansehen
Powered by Community Server (Commercial Edition)