сообщить из DLL о наличии нового тика другой программе - страница 2

 
xrust:

напишите DDE приемник и подключитесь к МТ и будете получать тики. делов то...


я их уже получаю напрямую в длл через shared attribute.

Еще раз: MT посылает в длл setNewClose(double close) и обновляет double close в dll,

я из своей программы без проблем могу выполнить getNewClose().

Что мне не хватает: setNewClose() должен вызвать что-то вроде onNewClose() которая находится в моей программе.

 

в своей программе напишите приемник, благо для жабы примеров в инете вагон, получайте извещение о тике напрямую в программу, и после опрашивайте вашу ДЛЛ на наличие других данных...

 
DDE так стар, что и примеров не найдешь. Вроде его заменили OLE и после COM. Всё ещё роюсь..
 
aiv:
DDE так стар, что и примеров не найдешь. Вроде его заменили OLE и после COM. Всё ещё роюсь..

технология COM, все потомки которой наследуют интерфейсу IUnknown,

а OLE являясь прямым потомком IUnknown имеет интерфейс IDispatch и ее потомки наследуют этот интерфейс;

то есть COM делится на две большие интерфейсные части Inknown и IDispacth;

 
aiv:
DDE так стар, что и примеров не найдешь. Вроде его заменили OLE и после COM. Всё ещё роюсь..


Примеров найдешь, и даже очень.

DDE конечно стар, но зато в терминале есть волшебная кнопочка "разрешить DDE сервер" которая снимает кучу гемора, в вашем случае, впрочем вам решать....

 
Остановился на sockets и CORBA - вроде актуальные и независимые от платформ. Если есть готовые примеры, буду очень признателен.
 
aiv:
Остановился на sockets и CORBA - вроде актуальные и независимые от платформ. Если есть готовые примеры, буду очень признателен.

попробуйте посмотреть библиотеку ACE-TAO. там и работа с сокетами грамотно сделана тоже.

или Вам на яве надо?? сразу не подумал

 

CORBA тут вроде как из пушки в воробья. Берусь за сокеты, тут и примерчик неплохой:

http://www.drdobbs.com/java/222900697;jsessionid=DO4GAS4YE2HPPQE1GHOSKH4ATMY32JVN?pgno=3

 

А чем неустраивает WindowMessage ?

The RegisterWindowMessage function is typically used to register messages for communicating between two cooperating applications.

If two different applications register the same message string, the applications return the same message value. The message remains registered until the session ends.

RegisterWindowMessage - в обех программах регистрируешь месаг с одним именим, получаеш одинаковый id.

из мт делаеш PostMessage(HWND_BROADCAST,id,0,0); и ловиш в сво(ей/их) проге сей id

 

так это ведь периодически проверять, не появился ли новый message.

Мне нужно именно из вне вызвать мою ява методу, сообщить что есть новые данные.

Причина обращения: