Показать сообщение отдельно
Старый 26.06.2003, 13:45   #18  
Lexi is offline
Lexi
Участник
 
50 / 10 (1) +
Регистрация: 07.04.2003
1. В первоисточнике написано так:
Можно ли запустить определенный датапорт вне программы, например из bat файла?

а не так:

Напомню задачу. Из внешнего приложения (из командной строки) нужно запустить NA, залогиниться в БД, открыть фирму, выполнить некоторый объект и по возможности закрыть NA.

Не вижу фразы (из командной строки) может вы ее видите?

Если выделить фразу "вне программы", то под данную фразу не подходит вообще ни какое решение.


2. Если вы внимательно почитаете переписку, то увидите:

В OCX вставляется Socket Server с вызовом необходимой функции.

Это к
Цитата:
--------------------------------------------------------------------------------
Клиент NA (с интегрированным Socket Server-ом) в данном случае является
сервером по отношению к программе (Socket client) запускающий
требуемый датапорт.
--------------------------------------------------------------------------------
3. Никакого интегрированного в клиент NA Socket Server не существует.
Клиент NA может выступать в качестве Socket Server-а (см. п. 2), однако,
для этого сначала нужно:

Рашифровываю:

1. Пишется OCX модуль со встроенным Socket Server;
2. Данный модуль интегрируется в клиентскую часть navision;
3. Пишется клиентская часть;
4. Запускается Navision Client и наш OCX;
5. Запускается в пределах видимости сети Наш клиент.
6. И вперед.

3. Очень странно, что вы вдруг вспомнили, что это не та сказка.
Зачем тогда обсуждался вариант с C/FRONT и OCX?

Цитата:
---------------------------------------------
Я не юзал C/FRONT, но знаю, что датапорт через него вы не запустите (если,
конечно, дополнительно не напишете интерпретатор объектов NA).

ОСХ - это не решение, а способ взаимодействия компонент. Не сочтите за труд
опишите в двух словах ваше решение, которое позволяет из вне Attain выполнить
его объект.
---------------------------------------------

Кстати та или не та сказка еще вопрос? см п1.

4. Если нужно удаленно запустить Attain и его модули, то пишется отдельная программа (напр. тот же Socket Server но с другим портом) которая удаленно сделает необходимые действия, да и проверит правомерность запуска.

На самом деле если заняться темой, то можно накопать еще решений, все зависит от уровня квалификации копальщика.

P.S.