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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
hope
Местный житель
Сообщения: 1353
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение hope »

Есть система по учету товаров. Нужно передавать данные о товарах из Галактики в эту систему через com-объекты.

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

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

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

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

В правильном ли направлении я мыслю?
Как в Галактике можно увидеть этот СОМ-объект?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Сообщение 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.
ira
Посетитель
Сообщения: 47
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение ira »

Здравствуйте! Теперь у меня такая же задача. Сделать запрос к чужой системе через Com объект и получить какой-то ответ.
В предыдущем примере непонятно откуда берется:
#include AcroPDFLib.vih // используем сгенерированный файл
#include Word.vih
#include Excel.vih
и так далее
это можно где-то найти?
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение Ged »

В состав атлантиса входит утилита AtlTLB.
она и генерит
ira
Посетитель
Сообщения: 47
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение ira »

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

Хотя в реестре ххххххххххххххххххх есть. Че-то еще надо Галактике...
Подскажите.
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

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

Сообщение Ged »

Предположительно - откомпилить полученные Vip
Ответить