vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
Eigene OCX ohne zu registrieren? 
Autor: eli
Datum: 07.05.08 18:17

Hallo,

ich habe zu meienm Projekt jetzt auch ein Par UserControls gemacht.

Ist es möglich diese zu nutzten ohne sie zu registrieren zu müssen (Regsvr32)?

Z.B. Im Application Path rein Kopieren?

Wäre für jeden Hinweis oder Link dankbar.

MfG,
ELi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eigene OCX ohne zu registrieren? 
Autor: ModeratorDieter (Moderator)
Datum: 08.05.08 00:08

ActiveX-Komponenten müssen registriert werden.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eigene OCX ohne zu registrieren? 
Autor: VBStein
Datum: 16.05.08 10:36

Hai,

sie müssen registriert werden .
Nur wer sagt: Wann? Ach ja, vor der ersten Verwendung sollten sie COM bekannt sein. COM muss CLSID und ProgID zusammenführen können.
Da ja jedes COM-Teil selbstregistrierend sein soll, nutzt man das aus:

Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" ( _
     ByVal lpLibFileName As String) As Long
 
Private Declare Function FreeLibrary Lib "kernel32.dll" ( _
     ByVal hLibModule As Long) As Long
 
Private Declare Function GetProcAddress Lib "kernel32.dll" ( _
     ByVal hModule As Long, _
     ByVal lpProcName As String) As Long
 
Private Declare Function CallWindowProc Lib "user32.dll" Alias _
  "CallWindowProcA" ( _
     ByVal lpPrevWndFunc As Long, _
     ByVal hwnd As Long, _
     ByVal msg As Long, _
     ByVal wParam As Long, _
     ByVal lParam As Long) As Long
 
Sub main()
    Dim hModule As Long
    Dim pAdr As Long
 
    s = App.Path
    If Right(s, 1) <> "\" Then s = s & "\"
    s = s & "MyOCX.ocx"
 
    hModule = LoadLibrary(s)
 
    If hModule Then
       pAdr = GetProcAddress(hModule, "DllRegisterServer")
       If pAdr Then
           CallWindowProc pAdr, 0, 0, 0, ByVal 0
       End If
    End If
 
    FreeLibrary hModule
    Form1.Show
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eigene OCX ohne zu registrieren? 
Autor: eli
Datum: 20.05.08 14:08

Super, Danke.

Nun noch eine Frage:
Kann das OCX-File in einen Netwerkverzeichnis (im App.Path) sein, oder muss es im System32 rein?

MfG,
Eli
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eigene OCX ohne zu registrieren? 
Autor: ModeratorDieter (Moderator)
Datum: 20.05.08 19:56

Es kann sich natürlich auch auf einem anderen Computer befinden - es muss nur sichergestellt sein, dass das System dieses dort auch wieder findet, da der Pfad (Verweis) ja in die Registry eingetragen wird.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Eigene OCX ohne zu registrieren? 
Autor: Andi (AW)
Datum: 24.02.09 01:01

Kann ich mit diesem Code auch das sevDataGrid an einem Rechner verwenden, an dem das OCX vorher nicht registriert wurde? Insbesondere dann, wenn die Access-Anwendung, die das OCX verwendet, an einem PC genutzt wird, an dem kein Administrator-Zugang verfügbar ist?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel