Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ole Server EXE / 8 сообщений из 8, страница 1 из 1
06.05.2004, 12:46
    #32508911
ноль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Всем привет !
Подскажите а если OLE server создан как EXE он будет выполняться в своем адресном простанстве? Допустим я хожу в методе класса сервера выполнить
суммирование в цикле. Создаю на строне клинета экземпляр сервера, запукаю метод, он там крутит цикл Выполенение этого метода будет фоновым для клиента или на этом месте клиент повисит чтобы дождаться конца вычислений ?
...
Рейтинг: 0 / 0
06.05.2004, 13:11
    #32508966
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Адресное пространство и синхронность вызовов вещи абсолютно друг с другом не связанные.
По умолчанию (если можно так выразиться) методы сервера - синхронные даже при Remote Automation (или DCOM). Чтобы сделать их асинхронными, нужно немного извратиться (если речь идет о VFP), как это делать - ищи на форуме или в www.foxclub.ru (сам не делал, только читал, что это возможно)
...
Рейтинг: 0 / 0
06.05.2004, 14:16
    #32509163
ноль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Да юзал я этот vfpmtapp.dll , не то, хотя вещь хорошая.
Понимаете ли, товарищи, на сервере все время срабатывает метод по событию COM порта - доставка байт во входной буфер и их нужно доставить клиенту. Предыдущий пример это ну так сказать критичная абстаркция ситуации. Вот и вопрос, как же на фоксе побороть такую ситуацию : есть сервер выполняющий обработку собитий (ругого сервера, DLL API, FLL(в данном случае она дерагает непосредсвено метод сервера) - не важно) асинхронно и сигналящий клиенту при выполнении некоторых условий ?
...
Рейтинг: 0 / 0
06.05.2004, 16:29
    #32509491
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Опять же нет конкретной реализации, но тестировал следующий вариант:
Клиент инициализирует сервер, передает ему ссылку на объект у себя и хранит у себя экземпляр сервера, пока хочет получать события от сервера. Сервер, когда хочет уведомить клиента, вызывает нужный метод из переданного ему объекта.
Может так, если я все правильно понял
...
Рейтинг: 0 / 0
06.05.2004, 16:43
    #32509531
ноль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
AFAIK на строне клиента , как с ним бороться?
Думаю, что твой метод не прокатит. Он будет ждать окончания выполенения метода сервера.
...
Рейтинг: 0 / 0
06.05.2004, 17:00
    #32509584
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Попробую изобразить пример:

Клиент:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
DEFINE CLASS CClient AS Custom
     oSrv = .F.     

     PROCEDURE Init
          oSrv = CREATEOBJECT('Srv.CServer')
          oSrv.oCli = THIS
     ENDPROC

     PROCEDURE Notify
          MESSAGEBOX('Сообщение от сервера')
     ENDPROC
ENDDEFINE

PROCEDURE Main
     oCli = CREATEOBJECT('CCLient')
     READ EVENTS
ENDPROC

Сервер:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DEFINE CLASS CServer AS Custom
     oCLi = .F.

     PROCEDURE Init
          && Запускай здесь объект, обслуживающий COM-порт
          && или через таймер длинную обработку
     ENDPROC

     PROCEDURE Notify   && это событие таймера или 
                                && твоего обработчика COM-порта
          THIS.oCli.Notify()
     ENDPROC
ENDDEFINE

Что-то вроде этого, очень схематично.
...
Рейтинг: 0 / 0
07.05.2004, 13:34
    #32510647
ноль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
Пробовал, дейсвительно AFAIK. Ничего асинхронного не получается.
Что делать-то? Может пообсуждаем проблему ?
...
Рейтинг: 0 / 0
07.05.2004, 13:46
    #32510676
oleg_km
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ole Server EXE
А что ты поробовал, если мой пример, то там как раз асинхронной компоненты и не хватает, какого-нибудь асинхронного объекта.
Приведи полный код примера, который ты пробовал, может разберемся, в принципе, мне интересно, только нет возможности самому пробовать
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Ole Server EXE / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]