Ich lade OCX dynamisch in VB 6.0. OCX dynamisch in VB 6.0 laden
Im folgenden ist der Code, den ich verwende die Methoden zu laden und rufen:
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 Sub Foo
On Error Resume Next
Dim lb As Long, pa As Long
Dim versionString As String
Dim retValue as Long
lb = LoadLibrary("D:\projects\other\VB_DLLs\TestDLL\TestDLL.dll")
'retrieve the address of getVersion'
pa = GetProcAddress(lb, "getVersion")
'Call the getVersion function'
retValue = CallWindowProc (pa, Me.hWnd, "I want my version", ByVal 0&, ByVal 0&)
'release the library'
FreeLibrary lb
End Sub
Jetzt habe ich öffentliche Eigenschaften von OCX zugreifen möchten. Wie kann ich auf die Eigenschaften von OCX zugreifen (setzen)?
Was ist Ihr Ziel hier? Ein OCX ist normalerweise ein Steuerelement, das als sichtbares Steuerelement in einem Formular angezeigt wird. Ihr Code zeigt an, dass Sie eine DLL ohne visuelle Präsentation laden und diese in einem spät gebundenen Stil aufrufen möchten. – GTG
@GTG, ich möchte eigentlich die Eigenschaften von OCX setzen, nach settint die Eigenschaften möchte ich die Methode von OCX aufrufen. Keine visuelle Präsentation auf dem Formular, nur zur Berechnung. – Siddiqui
Haben Sie versucht, normale späte Bindung, wie folgt: Dim myObject als Objektmenge myObject = createobject ("yourlib.yourclass") versionString = myObject.TheVersionProperty – GTG