OLE Automation

GROVE 1.0 OLE AUTOMATION

The Grove OLE Automation class is distributed as part of Jade. I have put together a few notes on "How to use the Grove OLE Automation Class in Visual Basic 5.0".  I have also posted sample source code which you can download for free.

SP WIZZARD OLE AUTOMATION WRAPPER

Author:

Larry Robertson © 1994-1997
There are two DLLs that are distributed with SP Wizard that make up the OLE wrappers around NSGMLS and SPAM:

EXECDA32.DLL

Class Name: ExecDOSApp

OLE Automation: ExecDA32.DLL (32 bit), ExecDA16.EXE (16 bit)

Purpose: This class will execute a DOS program in a shell and will not allow execution of code that follows the call (Run), however it does allow other applications to run at the same time. It has been tested under all Windows versions 3.1 and higher except for NT 3.xx.

Public Subs:

None

Public Functions:

Public Function Run(FileName As String, WinState As Integer, Optional CheckEveryMiliseconds As Variant) As Variant

Public Properties:

Public Property Let CommandLineLength(Length As Integer) (16 bit only)
Public Property Get CPUType() As String
Public Property Get FreeMemory() As String
Public Property Get FreeSystemResources() As String
Public Property Get GetEnvironmentSize() As Integer
Public Property Let SetEnvironmentSize(ESize As Integer)
Public Property Get Version() As String

SPWIZ32.DLL

Class Name: NSGMLSSP

OLE Automation: NSGMLS32.DLL (32 bit), NSGMLS16.EXE (16 bit)

Purpose: This class will execute a DOS version of NSGMLS 16 or 32 bit in the background. Each time an instance of this class is invoked, the NSGMLS.EXE is reloaded, thus making it slow when batch processing.

Note: The 32 bit version assumes the -all where as the 16 bit version does not. The 16 bit version is limited to 127 byte command line length if you do not use DOS 7.0 or higher. All warning switches are set up so that you must specify which warnings you don't want to be inforced (for 32 bit). The 16 bit version is very limited as far as command line switches.

Public Subs:

Public Sub DescribeOpenEntities()
Public Sub ErrorsOnly()
Public Sub ParseProlog()
Public Sub ShowGI()
Public Sub ShowLineNumberAndFileName()
Public Sub SuppressOutput()
Public Sub Version()
Public Sub WarnDisableCharacterConcreteSyntaxCheck()
Public Sub WarnDisableDefault()
Public Sub WarnDisableEmpty()
Public Sub WarnDisableIDREFCheck()
Public Sub WarnDisableMixedContent()
Public Sub WarnDisableSGMLDecl()
Public Sub WarnDisableShould()
Public Sub WarnDisableUnclosed()
Public Sub WarnDisableUndefined()
Public Sub WarnDisableUnusedMap()
Public Sub WarnDisableUnusedParam()
Public Sub WarnDuplicate()
Public Sub WarnMinimizedTags()
Public Sub WarnNetEnablingStartAndNullEndTags()
Public Sub WarnNotationSysIDNotFound()

Public Functions:

Public Function Parse(ParserAppLine As String, WinState As Integer) As Variant

Public Properties:

Public Property Let Declaration(sFileName As String)
Public Property Let DocInstance(sFileName As String)
Public Property Let DTD(sFileName As String)
Public Property Get GetSTDIN() As String
Public Property Get GetSTDOUT() As String
Public Property Let Log(sFileName As String)
Public Property Let MaxErrors(sNumErrors As String)
Public Property Let RastFile(sFileName As String)
Public Property Let SetEnvironmentSize(ESize As Integer)
Public Property Get GetEnvironmentSize() As Integer

Class Name: SPAMSP

OLE Automation: SPAM32.DLL (32 bit), SPAM16.EXE (16 bit)

Purpose: This class will execute a DOS version of SPAM 16 or 32 bit in the background. Each time an instance of this class is invoked, the SPAM.EXE is reloaded, thus making it slow when batch processing. Maybe future versions of SP will allow for and external file that contains a list of file names to be parsed (meaning that the executable would only have to be loaded once).

Note: The 32 bit version assumes the -all where as the 16 bit version does not. The 16 bit version is limited to 127 byte command line length if you do not use DOS 7.0 or higher. All warning switches are set up so that you must specify which warnings you don't want to be inforced (for 32 bit). The 16 bit version is very limited as far as command line switches.

Public Subs:

Public Sub DescribeOpenEntities()
Public Sub MarkupAttName()
Public Sub MarkupAttSpec()
Public Sub MarkupAttValue()
Public Sub MarkupCurrent()
Public Sub MarkupEmptyTag()
Public Sub MarkupExpandAllEntityRefs()
Public Sub MarkupExpandEntityRefsChanged()
Public Sub MarkupExpandProlog()
Public Sub MarkupHoistOmitTags()
Public Sub MarkupLowerCaseNames()
Public Sub MarkupMarkedSections()
Public Sub MarkupNet()
Public Sub MarkupOmitTag()
Public Sub MarkupOutputProlog()
Public Sub MarkupRank()
Public Sub MarkupReserved()
Public Sub MarkupShortRef()
Public Sub MarkupShortTag()
Public Sub MarkupUnclosed()
Public Sub NoConvertionRSRE()
Public Sub OutputGeneralEntity(sName As String)
Public Sub Version()
Public Sub WarnDisableCharacterConcreteSyntaxCheck()
Public Sub WarnDisableDefault()
Public Sub WarnDisableEmpty()
Public Sub WarnDisableIDREFCheck()
Public Sub WarnDisableMixedContent()
Public Sub WarnDisableSGMLDecl()
Public Sub WarnDisableShould()
Public Sub WarnDisableUnclosed()
Public Sub WarnDisableUndefined()
Public Sub WarnDisableUnusedMap()
Public Sub WarnDisableUnusedParam()
Public Sub WarnDuplicate()
Public Sub WarnMinimizedTags()
Public Sub WarnNetEnablingStartAndNullEndTags()
Public Sub WarnNotationSysIDNotFound()