title image


Smiley Re: DLL auf Server/ Client
Frage:

kann man unter VB eine DLL einbinden, die auf einem anderen Rechner (Server) liegt und dann trotzdem seine Operationen auf dem Client ausführt?

Der Vorteil wäre dann, dass ich bei kleineren Änderungen an der DLL nicht auf jedem Client die DLL aktualisieren müsste.

Hat da jemand eine Idee, wie das geht?



Antwort:

Wenn es um eine ActiveX-DLL geht, muß diese DLL bekanntlich registriert werden. Falls die ActiveX-DLL nicht zusammen mit dem Programm installiert wird (z.B. mit dem Paket- und Weitergabeassi), registriert man sie manuell mit:



c:\Windows\System\regsvr32.exe C:\MeinPfad\MeineDll.dll



Beim Registrieren einer ActiveX-DLL geschieht folgendes:



Namen der Klassenmodule in der Registry eintragen:

z.B. HKEY_CLASSES_ROOT\MeineLibrary.MeineKlasse

2. ClassID eintragen:

z.B. HKCR\MeineLibrary.MeineKlasse\CLSID

     @={12345678-1234-4568-ABCD-123456789ABC}

3. Pfad zur DLL anlegen:

z.B. HKCR\CLSID\{12345678-1234-4568-ABCD-123456789ABC\InprocServer32

     @="C:\MeinPfad\MeineDll.dll"



Zusätzlich werden einige andere Informationen angelegt, wie etwa Beschreibungstexte, TypeLib-Infos etc.



Wenn nun ein Programm ein Objekt aus der DLL erstellen möchte, schaut es in der Registry nach, wo es die DLL finden kann und lädt diese in seinen Speicherbereich.



Es ist bekannt, daß eine DLL keineswegs nur auf der Festplatte bzw. Partition stehen darf, in der Windows installiert ist (meistens C:\), sondern auf jeder anderen Platte.



Ein Netzwerkpfad ist aus Sicht des lokalen Computers nicht viel anders als eine lokale Festplattenpartition.



Deshalb kann man Deine Idee ohne Probleme durchziehen:



Die DLL in ein zum Lesen freigegebenes Verzeichnis auf den "Server" kopieren. "Server" schreibe ich deshalb in Anführungszeichen, weil ein einfacher Fileserver wie etwa Win9x genügt.

Auf dem "Client" die Anweisung:

c:\Windows\System\regsvr32.exe \\MeinServer\MeinPfad\MeineDll.dll

ausführen. Möglicherweise muß der Netzwerkpfad in Anführungszeichen gesetzt werden.

Fump!


Thomas Prötzsch

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: