IInMemManager.PreloadMatrix

Синтаксис

PreloadMatrix(Dest: ICubeInstanceDestination);

Параметры

Dest. Отстроенный вариант отображения куба.

Описание

Метод PreloadMatrix загружает кешированные данные указанного варианта отображения куба в оперативную память.

Комментарии

Вызов метода PreloadMatrix позволяет загрузить кешированные данные в память до их фактического использования. Если в кубе много данных, то загрузка может занять длительное время, поэтому стоит производить её по мере необходимости и в моменты ожидания разрабатываемого приложения. Также, рекомендуется использовать метод только если имеется достаточное количество оперативной памяти, так как, если памяти не будет хватать, то будет производиться вытеснение ранее загруженных данных.

Пример

Для выполнения примера в репозитории предполагается наличие куба с идентификатором CUBE. В репозитории используется файловый кеш.

Добавьте ссылки на системные сборки: Cubes, Metabase.

Sub UserProc;
Var
    Mb: IMetabase;
    CubeInst: ICubeInstance;
    DestInst: ICubeInstanceDestination;
    InMem: IInMemManager;
Begin
    Mb := MetabaseClass.Active;
    // Открытие куба
    CubeInst := Mb.ItemById("CUBE").Open(NullAs ICubeInstance;
    DestInst := CubeInst.Destinations.DefaultDestination;
    // Инициализация менеджера для работы с кешем
    InMem := New InMemManager.Create;
    // Проверка наличия данных в кеше
    If InMem.CheckHasMatrix(DestInst) Then
        Debug.WriteLine("Объем используемой памяти до загрузки: " + InMem.SharedMemory.ToString + " байт.");
        //Загрузка матрицы в оперативную память
        InMem.PreloadMatrix(DestInst);
        Debug.WriteLine("Объем используемой памяти после загрузки: " + InMem.SharedMemory.ToString + " байт.");
    End If;
End Sub UserProc;

При выполнении примера матрица будет выгружена в кеш и в окно консоли будет выведено сообщение об используемой памяти.

См. также:

IInMemManager