Курсовая работа: Потоки в Visual Basic

Declare Function CoGetInterfaceAndReleaseStream Lib _

"ole32.dll" (ByVal pStm As Long, riid As GUID, _

pUnk As IUnknown) As Long

Declare Function CoInitialize Lib "ole32.dll" (ByVal _

pvReserved As Long) As Long

Declare Sub CoUninitialize Lib "ole32.dll" ()

' Start the background thread for this object

' using the apartment model

' Returns zero on error

Public Function StartBackgroundThreadApt(ByVal qobj As clsBackground)

Dim threadid As Long

Dim hnd&, res&

Dim threadparam As Long

Dim tobj As Object

Set tobj = qobj

' Proper marshaled approach

InitializeIID

res = CoMarshalInterThreadInterfaceInStream (IID_IDispatch, qobj, threadparam)

If res <> 0 Then

StartBackgroundThreadApt = 0

Exit Function

End If

hnd = CreateThread(0, 2000, AddressOf BackgroundFuncApt, threadparam, 0, threadid)

If hnd = 0 Then

' Return with zero (error)

Exit Function

End If

' We don't need the thread handle

CloseHandle hnd

К-во Просмотров: 665
Бесплатно скачать Курсовая работа: Потоки в Visual Basic