Avatar billede code_master Nybegynder
03. april 2002 - 20:55 Der er 2 kommentarer og
1 løsning

Include .ocx og dll

Kan man på nogen måde includer en .ocx og .dll i et vba project...

...så man ikke skal have en masse ocx og dll filer liggene i programmets mappe, som andre kan bruge...
Avatar billede sjh Nybegynder
03. april 2002 - 21:38 #1
Ja, Hvis du har koden til ocx/dll (ikke filen men source)
elles Nej.
Avatar billede code_master Nybegynder
04. april 2002 - 15:15 #2
Jamen hvad hvis man har fx en coolbar skal den så ligge i ens mappe?

kan man lave en ocx til en dll fil?
Avatar billede sjh Nybegynder
04. april 2002 - 15:37 #3
Man kan IKKE lave en ocx til en dll file

coolbar skal ligge under windows\system mappen og skal være registred

'Register *.ocx, *.dll
Option Explicit

Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long

Private Const ERROR_SUCCESS = &H0

Public Function RegisterServer(hWnd As Long, DllServerPath As String, bRegister As Boolean)
On Error Resume Next
Dim lb As Long, pa As Long
lb = LoadLibrary(DllServerPath)
  If bRegister Then
    pa = GetProcAddress(lb, "DllRegisterServer")
      Else
    pa = GetProcAddress(lb, "DllUnregisterServer")
  End If
  If CallWindowProc(pa, hWnd, ByVal 0&, ByVal 0&, ByVal 0&) = ERROR_SUCCESS Then
    MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Successful"
      Else
    MsgBox IIf(bRegister = True, "Registration", "Unregistration") + " Unsuccessful"
  End If
FreeLibrary lb
End Function

Private Sub Form_Load()
    Text1.Text = "C:\WINDOWS\SYSTEM\COMCTL32.OCX"
    Command1.Caption = "Register server"
    Command2.Caption = "Unregister server"
End Sub

Private Sub Command1_Click()
    Call RegisterServer(Me.hWnd, Text1.Text, True)
End Sub

Private Sub Command2_Click()
    Call RegisterServer(Me.hWnd, Text1.Text, False)
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester