%Library.COSCallout
class %Library.COSCallout extends %Library.RegisteredObject
Transform COS source code to a parse tree
Internal ISC code, not for customer use - these interfaces may change without warning
Property Inventory (Including Private)
Method Inventory (Including Private)
- %OnClose()
- Compile()
- ConfigName()
- ConfigPath()
- InvokeDLL()
- PathToDLL()
- SetDefaultBinDir()
- ZF5()
- ZF6()
Properties (Including Private)
The directory for CacheObjectScript.DLL.
Defaults to the CacheSys/Bin directory - change it if you want to debug a different version of the DLL.
How we call the DLL
Takes one of the following values :-
1 - use $ZF(-3) ... handy for debugging the DLL because it doesn't stay loaded
2 - use $ZF(-4)/$ZF(-5) ... to cache the DLL handle
3 - use $ZF(-4)/$ZF(-6) ... the default - there's normally no reason to change it
Initialised to 3
The cached DLLHandle (used only when DLLCallMode=2)
Set to a result code string
Mainly of use to Intersystems support.
Methods (Including Private)
The return value of this method is ignored.
Convert the given COS source code to a parse tree
SourceStream is a stream containing the source code
ErrorsStream is a stream to which any error messages are written
The return value is 1 on success, 0 on failure
If 0 is returned the caller should see the DLLResultCode property for information about failure.
CacheObjectScript.DLL must be in the directory given by the BinDir property. By default this points to the CacheSys/Bin directory.
In the example below SourceIn and ErrorsOut are streams. SourceIn supplies the source code and ErrorsOut receives any error messages.
Set TT=##class(%Library.COSCallout).%New() Set Ret=TT.Compile(SourceIn,ErrorsOut) If 'Ret Write "Fatal error: ",TT.DLLResultCode,! ZTrap Do Errors.Rewind() If 'Errors.AtEnd { //... show Errors } Else { //... use tree }
Helper function to return the Caché configuration name.
Helper function to return the Caché configuration path.
Invoke the CacheObjectScript DLL function (DLLFunction), passing DLLArgs.
Returns what the $ZF call into the DLL returns, or something in the same format :-
$LISTBUILD(ZFOK, $LISTBUILD(Lang1, Lang2, ...), ColoringErrors, DLLResultCode)
Return the path to the DLL
Set the default CacheSys/Bin directory
Sets failed to 1 if the $ZF(-5,..) call fails, otherwise sets it to 0 and returns the DLL return code
Sets failed to 1 if the $ZF(-6,..) call fails, otherwise sets it to 0 and returns the DLL return code
Inherited Members
Inherited Methods (Including Private)
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %ConstructCloneInit()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OnAddToSaveSet()
- %OnConstructClone()
- %OnNew()
- %OnValidateObject()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()