Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 853

•  TDictionary Custom Sort  6 833

•  Fast Watermark Sources  6 614

•  3D Designer  9 579

•  Sik Screen Capture  6 957

•  Patch Maker  7 401

•  Айболит (remote control)  7 348

•  ListBox Drag & Drop  6 207

•  Доска для игры Реверси  98 260

•  Графические эффекты  7 522

•  Рисование по маске  6 804

•  Перетаскивание изображений  5 656

•  Canvas Drawing  6 041

•  Рисование Луны  5 832

•  Поворот изображения  5 282

•  Рисование стержней  3 870

•  Paint on Shape  3 024

•  Генератор кроссвордов  3 983

•  Головоломка Paletto  3 158

•  Теорема Монжа об окружностях  3 999

•  Пазл Numbrix  2 638

•  Заборы и коммивояжеры  3 455

•  Игра HIP  2 368

•  Игра Go (Го)  2 286

•  Симулятор лифта  2 681

•  Программа укладки плитки  2 245

•  Генератор лабиринта  2 803

•  Проверка числового ввода  2 404

•  HEX View  2 746

•  Физический маятник  2 437

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Ошибка EOLESYS..OPERATION UNAVAILABLE (операция недоступна) при использовании GETACTIVEOLEOBJECT



- Надо снять порчу с компьютера, - сказала цыганка, запустив DrWeb.

Это происходит при использовании сервера автоматизации Delphi, или когда сервер автоматизации (например, word.basic) не запущен.


procedure TForm1.Button1Click(Sender: TObject);
var
  V: OleVariant;
begin
  V := GetActiveOleObject('Word.Basic');
  V.FileNew;
  V.Insert('тест');
end;

GetActiveOleObject определен в ComObj.pas. Он преобразует имя класса в guid и передает его при вызове Windows api функции GetActiveObject.


function GetActiveOleObject(const ClassName: string): IDispatch;
var
  ClassID: TCLSID;
  Unknown: IUnknown;
begin
  ClassID := ProgIDToClassID(ClassName);
  OleCheck(GetActiveObject(ClassID, nil, Unknown));
  OleCheck(Unknown.QueryInterface(IDispatch, Result));
end;

GetActiveOleObject использует интерфейс с именем IRunningObjectTable. Мы не регистрируем это автоматически в таблице, поэтому, чтобы воспользоваться его функциональным назначением, вы должны получить этот интерфейс и использовать его методы для регистрации.





Похожие по теме исходники

Примеры работы с БД

Примеры оформления DBGrid

Пример использования DBGrid

База предприятий и менеджеров 0.99

 

Консольное DOS приложение

Работа с принтером

Локализация приложений