ILanerContext.LoadFromStream

Syntax

LoadFromStream(Stream: IIOStream);

Parameters

Stream. Stream.

Description

The LoadFromStream method loads the context from specified stream.

Comments

To save the context to the stream use the ILanerContext.SaveToStream method.

Example

Executing the example requires a form containing:

The document with the OBJ_CONTEXT identifier, that contains the saved context, must be present in repository.

Add references to the Metabase, Io, Fore system assemblies. Example is a handler of the OnClick event for the button.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    Mb: IMetabase;
    pContext: ILanerContext;
    ContextObject, LanerObject: IMetabaseObjectDescriptor;
    Stream: IIOStream;
    Laner: ILaner;
    Doc: IDocument;
    MemStream: IMemoryStream;
Begin
    Mb := MetabaseClass.Active;
// Create context
    pContext := New LanerContext.Create;
// Load context from the stream 
    ContextObject := Mb.ItemById("OBJ_CONTEXT");
    Doc := ContextObject.Edit As IDocument;
    Stream := Doc.GetAsStream;
    pContext.LoadFromStream(Stream);
// Start of workbooks loading to the context
    pContext.BeginLoad;
// Load the first workbook   
    Laner := UiErAnalyzer1.ErAnalyzer.Laner;
    If Not Laner.IsInContext Then
        pContext.Register(Laner);
    End If;
// Load the workbooks on which the first book depends 
    For Each LanerObject In Laner.Dependencies Do
        Laner := LanerObject.Bind As ILaner;
        If Not Laner.IsInContext Then
            pContext.Register(Laner);
        End If;
    End For;
// Load the workbooks that depend on the first workbook
        For Each LanerObject In Laner.Dependents Do
        Laner := LanerObject.Bind As ILaner;
        If Not Laner.IsInContext Then
            pContext.Register(Laner);
        End If;
    End For;
// Complete the loading of workbooks to context
    pContext.EndLoad;
// Save the context to stream
    MemStream := New MemoryStream.Create;
    pContext.SaveToStream(MemStream);
    Doc.LoadFromStream(MemStream);
    (Doc As IMetabaseObject).Save;
End Sub Button1OnClick;

After executing the example the context is loaded from the OBJ_CONTEXT document. After that the workbook, all the dependant books and the books the workbook depends on are added to the context. The resulting context is saved to the OBJ_CONTEXT document.

See also:

ILanerContext