Работа с GraphWorX32 из внешнего приложения. |
Ответить |
Автор | |
Новичок Присоединился: 25 Март 2009 Категория: Russian Federation Online Status: Offline Публикации: 2 |
Опубликовано: 25 Март 2009 17:31 |
Добрый день.
подскажите как можно получать сообщения от GraphWorX32 во внешнее приложение. Пробовал два варианта: 1. из VBA Public WithEvents gwx As GwxDisplay Sub test() Set GWX = CreateObject("Gwx32.display") - при таком объявление возникает ошибка Dim gwx As Gwx32.GwxDisplay Set gwx = New Gwx32.GwxDisplay при таком объявление все запускается, но события не вызываются gwx.FileNew gwx.FileOpen ("test.gdf") gwx.ShowWindow gwx.StartRuntime End Sub Public Sub GWX_DisplayLoad() MsgBox ("DisplayLoad") End Sub Private Sub gwx_PostRuntimeStart() MsgBox ("PostRuntimeStart") End Sub Private Sub GWX_PreAnimateDisplay() MsgBox ("DisplayLoad") End Sub Public Sub Workbook_Open() test End Sub 2. вариант из Delphi TGwxDisplay = class(TOleServer) //определен в GWX32_TLB .... procedure OnDisplayLoadEvent(Sender: TObject); ... var FGWXOleObject: TGWXDisplay; ... FGWXOleObject := TGwxDisplay.Create(Self); FGWXOleObject.OnDisplayLoad := OnDisplayLoadEvent; дальше работа с загрузкой файлов и т.д. все работает кроме событий Вопрос: как собственно получить эти события? |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Не совсем понятно если честно насчет внешнего приложения... Вы в чем пишите скрипт? GraphWorX32? Если да, то вам необходимо просто добавить в обработчики событий экранной формы вызовы статических методов объявленных в модуле на уровне проекта.
56FDB_Событие.rar А если из внешнего приложения, то вам однозначно прийдется писать Hook для перехвата сообщений окна. Эту тиму часто трут на RSDN.ru там вроде даже есть примеры кода... |
|
Новичок Присоединился: 25 Март 2009 Категория: Russian Federation Online Status: Offline Публикации: 2 |
|
Dismay
Цель задачи - управлять окнами GraphWorX32 из внешнего приложения. Сейчас все делаю через Hook. Но хотелось бы получить именно события. Просто в коде TLB от GraphWorX32 события есть, но получить их не получается. |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |