CreateOLE

From SunFlurry wiki
Jump to: navigation, search
  CreateOLE (Создание OLE объекта)
Объект:Функции общего назначения
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в строку, ошибка создания объекта
Визуальность:Нет

Функция создает новый объект OLE (COM) по строке идентификатора, если требуемый объект в системе отсутствует, функция вызывает исключение. Созданный таким образом объект может быть доступен только в создавшем его потоке (ограничение архитектуры STA). Это ограничение не распространяется на визуальные OLE объекты (находящиеся на формах или в электронных таблицах), так как для таких объектов вызовы, созданные из других потоков, передаются с помощью очереди сообщений Windows в визуальный поток и исполняются там. Если необходимо работать с невизуальным объектом в нескольких потоках, используйте функцию CreateThreadedOLE, которая имеет свои ограничения.

Синтаксис

CreateOLE(<Идентификатор объекта OLE (STRING)>):<Новый объект OLE (OLE)>

Аргументы

  • <Идентификатор объекта OLE (STRING)> - Строка-индентификатор объекта. К примеру "Excel.Application" или "ADODB.Connection".

Возвращаемое значение

Возвращает созданный объект.

Примеры

//Пример создает новую книгу Excel с листом "Данные" и заполняет на нем квадрат 20 на 20 ячеек случайными числами.
Try
  Х:=CreateOLE("Excel.Application");
Except
  Message(PopError(),"!");
  Message("Ошибка создании объекта! Возможно, не установлен MS Excel!","!");
  Exit;
EndTry;
Try
  Х.WorkBooks.Add();
  Х.WorkSheets(1).Name:="Данные";

  Л:=Х.WorkSheets(1);
  Л.Activate();
  Л.Select();
  //Заполнение квадрата 20 x 20 случайными числами 0..9
  For i:=1 To 20 Do
    For j:=1 To 20 Do
      Л.Cells(i,j).Value:=Str(Random(10));
    EndDo;
  EndDo;
Finally
  Х.Visible:=1;
EndTry;