Re[4]: Implementing OnAction property for custom CommandBarC
От: mr.Vitaly Украина  
Дата: 22.11.02 17:07
Оценка:
Здравствуйте, Vi2, Вы писали:

Vi2>Здравствуйте, mr.Vitaly, Вы писали:


Vi2>Я не знаю, как обстоит дело именно с CommandBarControl. Вполне возможно, что он просто выполняет процедуру, имя которой ему было передано. В этом и состоит действие события OnAction. Как? Ну, например, с помощью скрипта в VB или другим способом

Vi2>
Vi2>  ScriptControl1.Run sNameOfOnAction, параметры...
Vi2>или
Vi2>  ScriptControl1.Eval sNameOfOnAction
Vi2>


Вот именно в этом то и все дело — как же сервер распоряжается этим OnAction, если клиент его никаким образом не запрашивает. Клиент непосредственно своим кодом не ставит обработчик, а просто, например, присваивет OnAction = "MySub(1, Now())". Заметим, что MySub — это локальная функция в адресном пространстве клиента и outproc сервер ее никак не может вызвать. К тому же сервер может быть написан на С++ и вообще не понимать синтаксис Basic'a. Так что, мне кажется, клиент как-то хитро должен эдвайзиться к серверу и потом забирать это выставленное OnAction. А я пишу сервер и хотелось бы знать, как реализовать аналогичную функциональность. И, вообще, это клиентом не обязательно будет Basic, а может быть и JavaScript, а сервер, в принципе, этого не отличает.

Как мне кажется, там сама библиотека Basic RunTime, эдвайзится к чему-то и получает этот OnAction, но вот что надо реализовать, чтобы клиент мог правильно приэдвайзиться, я не знаю.

Если есть еще идеи, то буду очень за них благодарен.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.