VB60开发Active实现IObjectSafety分析和总结.docxVIP

  • 0
  • 0
  • 约3.91千字
  • 约 4页
  • 2023-07-20 发布于上海
  • 举报

VB60开发Active实现IObjectSafety分析和总结.docx

VB6.0 开发 ActiveX 实现 IObjectSafety VB6.0 开发 ActiveX 实现 IObjectSafety VB6.0 开发的 ActiveX 控件应用与 Web 程序中时必须实现 IObjectSafety 接口.否则不能够正常使用. 步骤: 1:新建文件 Objsafe.odl 文件 [ uuid(C67830E0-D11D-11cf-BD80-00A, helpstring(VB IObjectSafety Interface), version(1.0) ] library IObjectSafetyTLB { importlib(stdole2.tlb); [ uuid(CB5BDC81-93C1-11cf-8F20-00805F2CD064), helpstring(IObjectSafety Interface), odl ] interface IObjectSafety:IUnknown { [helpstring(GetInterfaceSafetyOptions)] HRESULT GetInterfaceSafetyOptions( [in] long riid, [in] long *pdwSupportedOptions, [in] long *pdwEnabledOptions); [helpstring(SetInterfaceSafetyOptions)] HRESULT SetInterfaceSafetyOptions( [in] long riid, [in] long dwOptionsSetMask, [in] long dwEnabledOptions); } } 2:运行 MKTYPLIB( 在本目录中) 选择刚建立的文件(Objsafe.odl), 改程序将生成文件 Objsafe.tlb. 3:在工程中引用文件 Objsafe.tlb 4:在工程中新建模块 basSafeCtl.bas 代码: Attribute VB_Name = basSafeCtl Option Explicit Public Const IID_IDispatch = 0000-0000-C000-000000000046} Public Const IID_IPersistStorage = _ {0000010A-0000-0000-C000-000000000046} Public Const IID_IPersistStream = _ 0000-0000-C000-000000000046} Public Const IID_IPersistPropertyBag = _ {37D84F60-42CB-11CE-8135-00AA004BB851} Public Const INTERFACESAFE_FOR_UNT RUSTED_CALLER = H1 Public Const INTERFACESAFE_FOR_UNT RUSTED_DATA = H2 Public Const E_NOINTERFACE = Public Const E_FAIL = Public Const MAX_GUIDLEN = 40 Public Declare Sub CopyMemory Lib kernel32 Alias Rt lMoveMemory _ (pDest As Any, pSource As Any, ByVal ByteLen As Long) Public Declare Function StringFromGUID2 Lib ole32.dll (rguid As _ Any, ByVal lpstrClsId As Long, ByVal cbMax As Integer) As Long Public Type udtGUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type Public m_fSafeForScripting As Boolean Public m_fSafeForInitializing As Boolean Sub Main() m_fSafeForScripting = True m_fSafeForInitializing = True End Sub 5:在控件的代码区域中写入如下代码 : Implements IObjectSafety Private Sub IObjectSafety_GetInterfaceSafet

文档评论(0)

1亿VIP精品文档

相关文档