Stuart McLachlan
stuart at lexacorp.com.pg
Sat Nov 5 17:10:53 CST 2005
On 5 Nov 2005 at 14:16, John Bartow wrote:
> Marty,
> Tried that. Don't get much at all.
>
> Is it possible to interate through the an Active-X object model and pull out
> all of its events, properties and methods, constants, etc. into a report or
> a text file? My gut feeling is yes since the Object Browser display all of
> it.
One of the tools that comes with PowerBasic is PBrow:
<quote>
The PowerBASIC COM Browser is an application that exposes the Interfaces,
Methods and Properties of COM Objects, as described by type-library files.
The PowerBASIC COM Browser serves a dual purpose - to export an Interface
Structure of a COM Object for early-binding purposes in your PowerBASIC
code, and to provide syntax reference and context-help on the Interface
members exposed by a COM Object.
....
The PowerBASIC COM Browser cannot open type-library or Object files that do
not have at least one Interface that has a ProgID, indicating they support
the Dispatch interface or are Dual-interface Objects. Without a ProgID, a
COM Object will not support the IDispatch (dispatch) Interface. COM
Objects of this variety often expose "direct" interfaces, and may be
ActiveX Controls rather than COM servers. Objects of this type are not
compatible with PowerBASIC (and are often not compatible with Visual Basic
too).
</quote>
Buy PBrow for $199 and you will get PowerBASIC thrown in for free <g>
Here's a short extract from the file I just created for DAO:
------------------------------------------------------------
' Library Name: Microsoft DAO 3.6 Object Library 5.0
' Library File: C:\PROGRA~1\COMMON~1\MICROS~1\DAO360.DLL
' ------------------------------------------------------------
' Version Info:
' -------------
' Company Name: Microsoft Corporation
' File Description: Microsoft DAO 3.6 Object Library
' File Version: 03.60.2927.12
' Internal Name: DAO360
' Legal Copyright: Copyright © Microsoft Corp. 1993-1997
' Original Filename: DAO360.DLL
' Product Name: Microsoft® Jet
' Product Version: 03.60.2927.12
' ------------------------------------------------------------
......
'Enumeration DataTypeEnum
%dbBoolean = &H00000001
%dbByte = &H00000002
%dbInteger = &H00000003
%dbLong = &H00000004
%dbCurrency = &H00000005
%dbSingle = &H00000006
%dbDouble = &H00000007
%dbDate = &H00000008
%dbBinary = &H00000009
%dbText = &H0000000A
%dbLongBinary = &H0000000B
%dbMemo = &H0000000C
%dbGUID = &H0000000F
%dbBigInt = &H00000010
%dbVarBinary = &H00000011
%dbChar = &H00000012
%dbNumeric = &H00000013
%dbDecimal = &H00000014
%dbFloat = &H00000015
%dbTime = &H00000016
%dbTimeStamp = &H00000017
....
Interface Dispatch DAOTableDefs
Member Get Count<&H60020000>() As Integer
Member Call Refresh<&H60020002>()
Member Call Append<&H60030000>(in Object As Variant<&H00000000>)
Member Call Delete<&H60030001>(in Name As String<&H00000000>)
Member Get Item<&H00000000>(in Item As Variant<&H00000000>) As
DAOTableDef
End Interface
--
Stuart