Здравствуйте!
На формуме поднималась тема по взаимодействию программ. В частности с ключем -Z. В теме упоминалось о том, что запросы также можно передать через OLE, не могли бы вы прояснить как это сделать ?
WINAPI не так удобен.......
-
-
Обсуждения на сайте Альта-Софт
-
Такса и OLE
Модераторы: Renat, Gala, alta_olg, expert, Lemur
-
- Модератор
- Сообщения: 2537
- На форуме: c 05 ноя 2004
- Откуда: Москва, Альта-Софт
Сказал: 1 ед.
Получил: 104 ед.
Получил: 104 ед.
Re: Такса и OLE
Загрузки /выгрузки данных ни по OLE ни по WINAPI на сегодняшний день нет.Денис_2 писал(а):Здравствуйте!
На формуме поднималась тема по взаимодействию программ. В частности с ключем -Z. В теме упоминалось о том, что запросы также можно передать через OLE, не могли бы вы прояснить как это сделать ?
WINAPI не так удобен.......
Олег Михайлов
Отдел техн. поддержки и разработки ПО
Отдел техн. поддержки и разработки ПО
- Nick
- Аксакал
- Сообщения: 734
- На форуме: c 02 фев 2005
- Откуда: Альта-Софт, Программист
Сказал: 13 ед.
Получил: 124 ед.
Получил: 124 ед.
Опишите подробнее свою задачу - вам надо передать свою заготовку в ГТД, или получить какие-то данные из ГТД?
Для обоих случаев есть более-менее стандартные решения, если что-то надо доработать - как правило мы это без проблем делаем.
Что касается "высоких" технологий типа OLE- и COM-объектов, то их в свое время попробовали и убедились что все начинает работать в разы медленнее, чем при простой передаче данных через файл. А файл может быть разный: TXT, DBF, XML, DOC, XLS, RTF, HTML...
Для обоих случаев есть более-менее стандартные решения, если что-то надо доработать - как правило мы это без проблем делаем.
Что касается "высоких" технологий типа OLE- и COM-объектов, то их в свое время попробовали и убедились что все начинает работать в разы медленнее, чем при простой передаче данных через файл. А файл может быть разный: TXT, DBF, XML, DOC, XLS, RTF, HTML...
- Nick
- Аксакал
- Сообщения: 734
- На форуме: c 02 фев 2005
- Откуда: Альта-Софт, Программист
Сказал: 13 ед.
Получил: 124 ед.
Получил: 124 ед.
А... Я не разглядел, что про Таксу.
Там да, там старинный самопальный механизм на WinAPI :
Если интересно - готов поделится более подробными исходниками, пишите altan<a>aha.ru
Можно также обсудить приведение этого механизма к более удобному для вас виду - но уже за отдельную денюжку
Там да, там старинный самопальный механизм на 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;
Можно также обсудить приведение этого механизма к более удобному для вас виду - но уже за отдельную денюжку