Страница 1 из 1

Работа с COM-объектами из Галактики

Добавлено: 14 июн 2007, 15:20
hope
Есть система по учету товаров. Нужно передавать данные о товарах из Галактики в эту систему через com-объекты.

Сама в этом пока ничего не понимаю.

Возможно ли это сделать из Галактики? Если возможно, то каким образом?

Пока в голове такие смутные понятия:

1. Система по учету товаров создала в Винде свой СОМ-объект.
2. Этот объект имеет свои методы. В частности, один из них импорт данных.
3. В Галактике мне нужно как-то увидеть этот СОМ-объект.
4. И передать параметры (данные о товарах из Галактики) методу "импорт" этого объекта.

В правильном ли направлении я мыслю?
Как в Галактике можно увидеть этот СОМ-объект?

Добавлено: 28 июн 2007, 23:56
Ged
  • #include AcroPDFLib.vih // используем сгенерированный файл
    #include Word.vih
    #include Excel.vih

    interface Test;
    create view vTest
    as select * from allmemo;

    tabbedsheet top tsTest;
    embedded scr1 'Пример использования Acrobat Reader' OLE;
    show at (,,,)
    end; // в этом окне будет показан PDF файл

    embedded scr2 'Пример использования Ms Word' OLE;
    show at (,,,)
    end; // в этом окне будет показан PDF файл

    embedded scr3 'Пример использования Ms Excel' OLE;
    show at (,,,)
    end; // в этом окне будет показан PDF файл
    end;


    Var pPDF : comIAcroAXDocShim; // объявляем ссылку на COM объект
    Var pWord : com_Document; // объявляем ссылку на COM объект
    Var pExcel : comWorkbook; // объявляем ссылку на COM объект

    HandleEvent
    cmInit : {
    pPDF := comIAcroAXDocShim(new(coAcroPDF)); // инициализируем

    pPDF.comOptions := ooAllowInPlace + ooAllowDirectPaint;
    OleEmbed(pPDF.comHandle, scr1); // связываем
    pPDF.LoadFile ('D:\Galaxy\Gal800\TestBtr\DopList.pdf'); // загружаем файл

    pWord := com_Document(new(coDocument));
    pWord.comOptions := ooAllowInPlace + ooAllowDirectPaint;
    OleEmbed(pWord.comHandle, scr2); // связываем

    pExcel := comWorkbook(new(co_ExcelSheet)); // объявляем ссылку на COM объект
    pExcel.comOptions := ooAllowInPlace + ooAllowDirectPaint;
    OleEmbed(pExcel.comHandle, scr3); // связываем
    }

    end;
    end.

Re: Работа с COM-объектами из Галактики

Добавлено: 05 июл 2010, 11:37
ira
Здравствуйте! Теперь у меня такая же задача. Сделать запрос к чужой системе через Com объект и получить какой-то ответ.
В предыдущем примере непонятно откуда берется:
#include AcroPDFLib.vih // используем сгенерированный файл
#include Word.vih
#include Excel.vih
и так далее
это можно где-то найти?

Re: Работа с COM-объектами из Галактики

Добавлено: 05 июл 2010, 11:51
Ged
В состав атлантиса входит утилита AtlTLB.
она и генерит

Re: Работа с COM-объектами из Галактики

Добавлено: 08 июл 2010, 11:42
ira
Спасибо Ged!
Что у меня вышло :
C помощью AtlTLB сгенерила файлы Vip и Vih.
Написала тестовый фейс, при входе ругается:
Ошибка при создании объекта ххххххххххххххххххх
Класс не зарегистрирован.

Хотя в реестре ххххххххххххххххххх есть. Че-то еще надо Галактике...
Подскажите.

Re: Работа с COM-объектами из Галактики

Добавлено: 08 июл 2010, 12:01
Ged
Предположительно - откомпилить полученные Vip