|
Class Reference
%Library.COSCallout
|
|
![]() |
|||
Private Storage |
Transform COS source code to a parse tree
Internal ISC code, not for customer use - these interfaces may change without warning
|
|
Properties | |||
---|---|---|---|
BinDir | DLLCallMode | DLLHandle | DLLResultCode |
|
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.
|
This callback method is invoked by the%Close method to provide notification that the current object is being closed.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 }
Return the path to the DLL