• Обсуждения на сайте Альта-Софт

Такса и OLE

вопросы по работе с программным обеспечением

Модераторы: Renat, Gala, alta_olg, expert, Lemur

Ответить
Денис_2
Постоянный участник
Сообщения: 17
На форуме: c 27 мар 2006
Сказал: 0 ед.
Получил: 0 ед.

Такса и OLE

Сообщение Денис_2 »

Здравствуйте!
На формуме поднималась тема по взаимодействию программ. В частности с ключем -Z. В теме упоминалось о том, что запросы также можно передать через OLE, не могли бы вы прояснить как это сделать ?
WINAPI не так удобен.......
Денис_2
Постоянный участник
Сообщения: 17
На форуме: c 27 мар 2006
Сказал: 0 ед.
Получил: 0 ед.

Сообщение Денис_2 »

ОТветили бы хоть для вежливости...... :cry:
alta_olg
Модератор
Сообщения: 2537
На форуме: c 05 ноя 2004
Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.

Re: Такса и OLE

Сообщение alta_olg »

Денис_2 писал(а):Здравствуйте!
На формуме поднималась тема по взаимодействию программ. В частности с ключем -Z. В теме упоминалось о том, что запросы также можно передать через OLE, не могли бы вы прояснить как это сделать ?
WINAPI не так удобен.......
Загрузки /выгрузки данных ни по OLE ни по WINAPI на сегодняшний день нет.
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Аватара пользователя
Nick
Аксакал
Сообщения: 734
На форуме: c 02 фев 2005
Откуда: Альта-Софт, Программист
Сказал: 13 ед.
Получил: 124 ед.

Сообщение Nick »

Опишите подробнее свою задачу - вам надо передать свою заготовку в ГТД, или получить какие-то данные из ГТД?
Для обоих случаев есть более-менее стандартные решения, если что-то надо доработать - как правило мы это без проблем делаем.

Что касается "высоких" технологий типа OLE- и COM-объектов, то их в свое время попробовали и убедились что все начинает работать в разы медленнее, чем при простой передаче данных через файл. А файл может быть разный: TXT, DBF, XML, DOC, XLS, RTF, HTML...
Денис_2
Постоянный участник
Сообщения: 17
На форуме: c 27 мар 2006
Сказал: 0 ед.
Получил: 0 ед.

Сообщение Денис_2 »

Не в ГТД. Передать данные(код товара, страну и т.п.) в таксу и получить справку по товару из Таксы ( в виде html). Насколько я понял, ГТД так и получает.....
Аватара пользователя
Nick
Аксакал
Сообщения: 734
На форуме: c 02 фев 2005
Откуда: Альта-Софт, Программист
Сказал: 13 ед.
Получил: 124 ед.

Сообщение Nick »

А... Я не разглядел, что про Таксу.
Там да, там старинный самопальный механизм на WinAPI :

Код: Выделить всё

1) в начале регистрируется собственный формат Clipboard-а
  CF_tax:=RegisterClipboardFormat('tax');
2) с этим форматом кладется строчка с параметрами
    P:=Format('SPRAV:%s;%s%;%d;%s;ИМ;0', TNVED, HtmReportFile, Application.MainForm.Handle, CountryCode);
    SetClipboardData(CF_tax, P);
3) ищем окно Таксы, если есть - кидаем ему message, нет - запускаем
  H :=findwindow('TfrmTax',nil);
  If H<>0 then //Поднимаем Таксу
    PostMessage(H,5557,0,0)
  else //Запускаем Таксу
    WinExec(GetTaxName,SW_SHOWMINNOACTIVE);
4) когда такса отработает - она вернет окну с указанным Handle WM_HtmlReport=5558 - можно показывать файл HtmReportFile
procedure TfrmMain.WMHtmlReport(var Msg: TMessage);
begin  
  ShowHTML(HtmReportFile, true) 
end;
Если интересно - готов поделится более подробными исходниками, пишите altan<a>aha.ru
Можно также обсудить приведение этого механизма к более удобному для вас виду - но уже за отдельную денюжку ;)
Ответить