Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: GUID + VB Добавлено: 15.05.08 12:51  

Автор вопроса:  Vladimir
Подскажите, плиз, как можно получить клас, програмно, имея его GUID, на VB, чтобы возможно было работать потом с его методами и свойствами?

P.S.
Гугл много примеров дает на С++, на VB не встречал :(

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 16.05.08 03:33


Type GUID128
    ;Data1 As Long
    ;Data2 As Integer
    ;Data3 As Integer
    ;Data4(7) As Byte
End Type

Declare Function UuidFromString Lib "rpcrt4" Alias "UuidFromStringA" ( _
    ByVal lpUUIDString As String, _
    lpUUID As GUID128) As Long
    
Private Declare Function CoCreateInstance Lib "ole32" (rclsid As GUID128, pUnkOuter As Any, ByVal dwClsContext As Long, riid As GUID128, ppv As Any) As Long
Private Declare Function CLSIDFromString Lib "ole32" (ByVal lpsz As Long, pclsid As GUID128) As Long


Sub LoadDll(sObjectCLSID As String, sInterfaceIID As String)

    Dim mObjectCLSID  As GUID128
    Dim mInterfaceIID As GUID128

    'Определяем UUID'ы класса и интерфейса
    Call UuidFromString(sObjectCLSID, mObjectCLSID)
    Call UuidFromString(sInterfaceIID, mInterfaceIID)

    ' Создаем объект
    If CoCreateInstance(mObjectCLSID, 0&, &H5, mInterfaceIID, 0) <> 0 Then
        MsgBox "Неудалость инициализировать объект"
    End If
End Sub




Public Sub LoadDll2(CLSSrting As String, IIDString As String)
    Dim RetVal As Long
    Dim RecordDisp As Object
    Dim CLSID As GUID128
    Dim IID As GUID128
    CLSIDFromString StrPtr(CLSSrting), CLSID
    CLSIDFromString StrPtr(IIDString), IID
    MsgBox CoCreateInstance(CLSID, ByVal 0, &H5, IID, RecordDisp)
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам